【发布时间】:2014-08-14 20:54:10
【问题描述】:
我有一个需要进入DateTime 对象的日期。在下面的代码中,我将filedate 设置为我得到的日期字符串,然后尝试两种不同的格式(patern 和patern2。它无法识别格式并且总是落入 else 块,我不明白我需要的日期时间对象。我使用我在 MSDN 上 this page. 上找到的说明符设置了格式字符串。
string filedate = "Tue Aug 12 16:01:29 CDT 2014";
string patern = "ddd MMM d hh:mm:ss CDT yyyy";
string patern2 = "ddd MMM dd hh:mm:ss CDT yyyy";
DateTime dat;
CultureInfo enUS = new CultureInfo("en-US");
string outString = "";
if (DateTime.TryParseExact(filedate, patern, enUS, System.Globalization.DateTimeStyles.None, out dat))
{
outString = (dat.ToShortDateString() + " " + dat.ToShortTimeString());
}
else if (DateTime.TryParseExact(filedate, patern2, enUS, System.Globalization.DateTimeStyles.None, out dat))
{
outString = (dat.ToShortDateString() + " " + dat.ToShortTimeString());
}
else
{
outString = filedate.Trim(); //always falling to here
}
【问题讨论】:
-
使用 HH 代替 hh。 HH 指定 24 小时格式,hh 指定 12 小时格式。
-
@cahinton 那是我错的一部分,谢谢。
标签: c# .net datetime datetime-format