使用ToString(“u”)生成日期字符串,并在小时之前生成T.

时间:2015-12-18 08:48:53

标签: c# datetime

我正在使用.NET Framework 4.5开发一个C#库。

我需要生成这个日期字符串:2015-12-01T07:54:20Z 但是现在我正在生成这个日期字符串:2015-12-01 07:54:20Z(与前一个字符串相同但没有T)。

要生成该日期,我正在使用此代码:DateTime.Now.ToUniversalTime().ToString("u")

如何使用T生成其他日期字符串?

3 个答案:

答案 0 :(得分:3)

您的格式(没有尾随Z)称为sortable format,它具有预定义的格式说明符"s"

DateTime.UtcNow.ToString("s") + "Z"

产量

2015-12-18T09:04:58Z

答案 1 :(得分:2)

您可以编写完整格式DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")

或使用不太优雅的解决方案ToString("u").Replace(" ","T")

HH是24小时格式,而hh是12小时格式

答案 2 :(得分:2)

要么

DateTime.UtcNow.ToString("yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");

给你 2015-12-18T13:57:31.2311892-04:00

DateTime.UtcNow.ToString("o");

给你 2015-12-18T14:01:54.9571247Z