我必须以下列格式解析包含日期时间的导入文件:
“2016-12-02T09:23:20 + 01:00”
“2016-12-08T15:31:49 + 01:00”
我猜这对应于
“YYYY-MM-DDTHH:MM:sszzz”
我的问题是,当我尝试将此字符串转换为日期时,它适用于第一个日期,但不适用于第二个日期。第二个小时的第二个失败。如果我将其改为11,例如它再次起作用 因此,这种格式似乎没有使用24小时表示法。
我的转换代码是:
string test = "2016-12-02T09:23:20+01:00";
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddThh:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture);
这有效,但是当我做的时候
string test = "2016-12-08T15:31:49+01:00";
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddThh:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture);
失败,但有例外:
字符串未被识别为有效的DateTime。
我的问题是,如何将此格式的日期转换为日期时间?
答案 0 :(得分:6)
使用大写HH
24小时。
这应该有效:
string test = "2016-12-08T15:31:49+01:00";
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddTHH:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture);