我可以将 DateTime.Now 格式化为
2010-03-01T00:00:00Z
我用它来格式化日期部分
DateTime.Now.Subtract(new TimeSpan(3001, 0, 0, 0)).GetDateTimeFormats()[5]
我可以将 DateTime.Now 格式化为
2010-03-01T00:00:00Z
我用它来格式化日期部分
DateTime.Now.Subtract(new TimeSpan(3001, 0, 0, 0)).GetDateTimeFormats()[5]
以下所有示例均假设当地时间是伦敦时间,并且是 2009 年 6 月 11 日下午 5:11。
如果您想要完整的 ISO 8601 格式,您可以使用:
DateTime.Now.ToUniversalTime().ToString("o")
// Gives 2009-06-11T16:11:10.5312500Z
或者,如果您想指定时区偏移量:
DateTime.Now.ToString("o")
// Gives 2009-06-11T17:11:10.5312500+0100
如果你不想要一秒钟的时间,你可以使用这个:
DateTime.Now.ToUniversalTime().ToString("s") + "Z"
// Gives 2009-06-11T16:11:10Z
或者:
DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssK")
// Also gives 2009-06-11T16:11:10Z
请注意,以下内容是错误的,因为它给出了本地时间,就好像它是 UTC 时间,只有当您在伦敦这样的地方并且它是冬天的中间时,这才是正确的:
DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ")
// Gives 2009-06-11T17:11:10Z which is wrong as it is an hour out.
是的,如果您使用 ToString,请查看 MSDN 页面以了解日期时间格式:
很简单,只需使用符合您要求的格式字符串即可:
System.DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
'2009-06-11T16:26:47Z'
我猜你想要这个:
XmlConvert.ToString(yourdate)
DateTime.Now.Subtract(new TimeSpan(3001, 0, 0, 0)).ToString("s");
对于所有 C# 字符串/日期格式化需求:http: //blog.stevex.net/index.php/string-formatting-in-csharp/
我懂了:
s Sortable date string 2002-12-10T22:11:29
u Universal sortable, local time 2002-12-10 22:13:50Z
但是给定页面上的选项,您可以手动构建精确的格式。