鉴于:
DateTime.UtcNow
如何获得表示符合 ISO 8601格式的相同值的字符串?
请注意,ISO 8601 定义了许多相似的格式。我正在寻找的特定格式是:
yyyy-MM-ddTHH:mm:ssZ
读者注意:一些评论者指出了此答案中的一些问题(特别是与第一个建议有关)。有关更多信息,请参见评论部分。
DateTime.UtcNow.ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
这给您一个类似于2008-09-22T13:57:31.2311892-04:00 的日期 。
另一种方法是:
DateTime.UtcNow.ToString("o");
这给你2008-09-22T14:01:54.9571247Z
要获取指定的格式,可以使用:
DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ")
DateTime.UtcNow.ToString("s", System.Globalization.CultureInfo.InvariantCulture)
应该为您提供所需的内容,因为 “s” 格式说明符被描述为可排序的日期 / 时间模式;符合 ISO 8601。
DateTime.UtcNow.ToString("s")
返回类似 2008-04-10T06:30:00 的内容
UtcNow
显然返回了UTC时间,因此在以下方面没有危害:
string.Concat(DateTime.UtcNow.ToString("s"), "Z")