这是我想在站点地图中使用的W3C标准日期时间格式之一。此DateTime标准是:
完成日期加上小时,分钟和秒: YYYY-MM-DDThh:mm:ssTZD其中TZD =时区指示符(Z或+ hh:mm或-hh:mm)(例如1997-07-16T19:20:30 + 01:00)
我使用以下代码以该格式获取当前DateTime:
DateTime.Now.ToString("yyyy-MM-ddThh:mm:ssTZD");
但这给出了:2011-08-10T02:27:20TZD
显然,DateTime.Now无法识别参数中的“TZD”。请帮忙。如何以这种格式获取当前的DateTime?
答案 0 :(得分:49)
使用zzz
格式说明符将时区偏移量设置为小时和分钟。您还希望使用HH
格式说明符以24小时格式获取小时数。
DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz")
结果:
2011-08-09T23:49:58+02:00
某些文化设置使用句点而不是冒号来表示时间,因此您可能希望使用文字冒号而不是时间分隔符:
DateTime.Now.ToString("yyyy-MM-ddTHH':'mm':'sszzz")
答案 1 :(得分:10)
使用zzz而不是TZD
示例:
DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");
响应:
2011-08-09T11:50:00:02+02:00
答案 2 :(得分:3)
试试这个:
DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");
zzz
是时区偏移量。