12

我有一个日期表示为字符串

20130116154407

我为此调用了 DateTime.Parse,但它失败了。如何将其转换为 DateTime?顺便说一句,时区是 CET。

编辑

到目前为止,提供的解决方案非常有用,但似乎它们不支持 24 小时制,仍在寻找支持的解决方案。

编辑 2

正确的格式是

DateTime.ParseExact(str, "yyyyMMddHHmmss", CultureInfo.InvariantCulture)

谢谢,

萨钦

4

3 回答 3

16

您需要指定格式:

DateTime.ParseExact(str, "yyyyMMddHHmmss", CultureInfo.InvariantCulture)
于 2013-01-16T14:51:21.523 回答
4

使用此代码

string DATE_FORMAT= "yyyyMMddhhmmss";

DateTime date;
if(DateTime.TryParseExact(str, DATE_FORMAT, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out date))
{
//success
//you can use date
}else
{
//fail
}
于 2013-01-16T14:52:39.230 回答
2

尝试DateTime.ParseExact

var dt = DateTime.ParseExact("20130116154407", "yyyyMMddhhmmss", CultureInfo.InvariantCulture);
于 2013-01-16T14:53:55.557 回答