这是什么样的格式?
我有以下DateTime字符串2014-11-03 08:44:00:082467 Z
当我尝试做简单的Convert.ToDateTime
我得到了错误,它不是一个公认的DateTime字符串。
我也尝试过在这里发布的内容:DateTime.Parse(“2012-09-30T23:00:00.0000000Z”)总是会转换为DateTimeKind.Local
var date = DateTime.ParseExact("2012-09-30T23:00:00.0000000Z",
"yyyy-MM-dd'T'HH:mm:ss.fffffff'Z'",
CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);
但是得到了同样的错误。 这是什么样的DateTime字符串? 以及如何将它转换为DateTime对象? 另外,这不是正确的时间(我在2小时之前) - 所以我猜这是世界各地的某种时间。
谢谢
这是适用于您的string
的格式,但根据ISO 8601标准它不是有效的字符串 :
var date = DateTime.ParseExact("2014-11-03 08:44:00:082467 Z",
"yyyy-MM-dd' 'HH:mm:ss:ffffff' Z'",
CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);
Dotnetfiddle
它看起来像ISO 8601格式。
DateTime.Now.ToString("o")
您在问题中提供的两个日期根本不相同!
假设你的问题适用于第二种,看起来是标准的,答案是:
string s = "2012-09-30T23:00:00.0000000Z";
var date = DateTime.ParseExact(s, "o", CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal |
DateTimeStyles.AdjustToUniversal);
Console.WriteLine(date);
(完整工作样本)
链接地址: http://www.djcxy.com/p/46585.html