C# 解析自定义日期时间格式
我必须使用C# 解析自定义日期时间格式,c#,.net,parsing,datetime,C#,.net,Parsing,Datetime,我必须使用yyyyMMddhhmmss格式从字符串中解析DateTime对象 如果我运行此代码,它可以正常工作: DateTime y = new DateTime(2013, 07, 22, 15, 35, 23); string x = y.ToString("yyyyMMddhhmmss", CultureInfo.InvariantCulture); 但如果我运行这段代码(看起来是相反的操作),我会得到一个异常: string x = "20130722153523"; DateTim
yyyyMMddhhmmss
格式从字符串中解析DateTime
对象
如果我运行此代码,它可以正常工作:
DateTime y = new DateTime(2013, 07, 22, 15, 35, 23);
string x = y.ToString("yyyyMMddhhmmss", CultureInfo.InvariantCulture);
但如果我运行这段代码(看起来是相反的操作),我会得到一个异常:
string x = "20130722153523";
DateTime y = DateTime.ParseExact(x, "yyyyMMddhhmmss", CultureInfo.InvariantCulture);
例外情况是:
System.FormatException: String was not recognized as a valid DateTime.
我不知道这里出了什么问题。我做错了什么
注意:不要担心时区。我可以在以后处理获取正确时区的问题。问题是,您指定的日期时间格式使用
hh
作为12小时时间格式,但输入字符串在该区域中有15
。它无法分析此内容,因为15超出了预期范围
尝试使用HH
作为24小时时间格式:
string x = "20130722153523";
DateTime y = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
进一步阅读:
“12-Sep-2015 08:12:54 UTC”
的结尾部分或任何位置而不是UTC的任何想法?在第一个代码示例中,x是20130722033523,而不是2013072153523