在C#中,是否有一个标准的DateTime
格式,可以与ToString
方法一起使用,生成与将DateTime
序列化为XML时生成的格式相同的格式?
例如:2013-03-20T13:32:45.5316112Z
在C#中,是否有一个标准的DateTime
格式,可以与ToString
方法一起使用,生成与将DateTime
序列化为XML时生成的格式相同的格式?
例如:2013-03-20T13:32:45.5316112Z
请看这里:
http://msdn.microsoft.com/en-us/library/az4se3k1.aspx#UniversalFull
您需要的格式是:
myDate.ToString("u");
例子:
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
然而,这并不是你想要的(虽然可能仍能工作),因此你可能需要使用自定义格式:
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));
// Displays 2008-04-10T13:30:00.000000Z
T
。 - Damien_The_Unbeliever.ToString("o") 似乎解决了这个问题。
DateTime
格式化示例现在在输出中包括了Z
:2009-06-15T13:45:30
(DateTimeKind.Utc
) --> 2009-06-15T13:45:30.0000000Z
。 - DavidRR