给定一个DateTime对象,如何获得字符串格式的ISO 8601日期?

鉴于:

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")
链接地址: http://www.djcxy.com/p/5983.html

上一篇: Given a DateTime object, how do I get an ISO 8601 date in string format?

下一篇: Parsing unsupported date formats in via Cocoa's NSDate