这种搅拌2010-06-19T06:28:01.077148400Z
属于哪种格式?
它代表6/19/2010 11:58:01 AM。
我尝试将字符串解析为DateTime.Parse(),而DateTime对象表示上述时间。现在我想再次将该DateTime对象转换为该格式。我怎么能这样做?
答案 0 :(得分:9)
根据您的用户信息,您看起来像是在印度时区 - New Delhi区域比UTC提前5小时30分钟。日期/时间字符串末尾的“Z”表示UTC,这是有道理的:6:28 UTC是您所在时区的11:58。
您可以使用本地DateTime
并使用ToUniversalTime
将其转换为UTC - 但如果您想获取当前时间,则可以使用DateTime.UtcNow
开始。
在UTC中获得DateTime
后,此格式字符串将以相同的方式对其进行格式化:
yyyy-MM-ddTHH:mm:ss.fffffff00K
这与往返格式非常相似,最后只有两个零。这些被硬编码为0,因为DateTime
的精度不超过十分之一微秒,而你的样本字符串则低至一纳秒。
例如:
DateTime now = DateTime.UtcNow;
string s = now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff00K",
CultureInfo.InvariantCulture);
创建如下内容:
2010-06-19T13:57:15.885578200Z
答案 1 :(得分:1)
对我来说看起来像Universaltime。
Grz,Kris。
答案 2 :(得分:0)
这看起来像使用Round-trip ("O", "o") Format Specifier:
的DateTime表示var s = "2010-06-19T06:28:01.077148400Z";
var dt = DateTime.Parse(s, null, DateTimeStyles.RoundtripKind);
Console.WriteLine(dt.ToString("o")); // prints "2010-06-19T06:28:01.0771484Z"
答案 3 :(得分:0)
看起来像UTC格式为round-trip format。