如何将当前的h/m/s AM时间转换为字符串?也许数字形式的日期(01/02/09)到另一个?
我想在这些答案中指出一些事情.在日期/时间格式字符串中,'/'将替换为用户的日期分隔符,并且':'将替换为用户的时间分隔符.也就是说,如果我将日期分隔符定义为'.' (在区域和语言选项控制面板小程序中,"intl.cpl"),我的时间分隔符为'?' (那就是假装我疯了)
DateTime.Now.ToString("MM/dd/yyyy h:mm tt")
会回来的
01.05.2009 6?01 PM
在大多数情况下,这是您想要的,因为您想要尊重用户的设置.但是,如果您要求格式是特定的(例如,如果它将被其他人解析掉),那么您需要转义这些特殊字符:
DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt")
要么
DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt")
现在会回归
01/05/2009 6:01 PM
编辑:
再说一遍,如果你真的想要尊重用户的设置,你应该使用标准的日期/时间格式字符串之一,这样你不仅要尊重用户对分隔符的选择,还要尊重日期和/或时间的一般格式. .
DateTime.Now.ToShortDateString() DateTime.Now.ToString("d")
两者都将使用标准的美国选项返回"1/5/2009",或者使用标准的英国选项返回"05/01/2009".
DateTime.Now.ToLongDateString() DateTime.Now.ToString("D")
两者都将在美国地区返回"2009年1月5日星期一"或英国"2009年1月5日".
DateTime.Now.ToShortTimeString() DateTime.Now.ToString("t");
"6:01 PM"在美国,"18:01"在英国.
DateTime.Now.ToLongTimeString() DateTime.Now.ToString("T");
"6:01:04 PM"在美国,"18:01:04"在英国.
DateTime.Now.ToString() DateTime.Now.ToString("G");
"1/5/2009 6:01:04 PM"在美国,"05/01/2009 18:01:04"在英国.
还有许多其他选择.请参阅有关标准日期和时间格式字符串以及自定义日期和时间格式字符串的文档.
您也可以使用格式字符串.
string time = DateTime.Now.ToString("hh:mm:ss"); // includes leading zeros string date = DateTime.Now.ToString("dd/MM/yy"); // includes leading zeros
或者一些快捷方式,如果格式适合你
string time = DateTime.Now.ToShortTimeString(); string date = DateTime.Now.ToShortDateString();
要么应该工作.
DateTime.Now.ToString("h:mm tt") DateTime.Now.ToString("MM/dd/yyyy")
以下是一些常见的格式字符串
在单个字符串中获取系统日期和时间的方法
public static string GetTimeDate() { string DateTime = System.DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); return DateTime; } sample OUTPUT :-16-03-2015 07:45:15