我可以将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.
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
但是,鉴于页面上的选项,您可以手动构建精确的格式。