我认为这应该很简单,但无法得到它:(. 在这种格式中,Z是时区. T是长时间模式 除了使用之外,我怎么能得到这种格式的日期 DateTime dt = DateTime.Now;Console.WriteLine(dt.ToString("yyyy-MM-ddTHH:mm:ssZ")
在这种格式中,Z是时区.
T是长时间模式
除了使用之外,我怎么能得到这种格式的日期
DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy-MM-ddTHH:mm:ssZ"));
在C#中
使用UTCISO 8601(MSDN datetime formats)
Console.WriteLine(DateTime.UtcNow.ToString("s") + "Z");
2009-11-13T10:39:35Z
Z就在那里因为
If the time is in UTC, add a ‘Z’
directly after the time without a
space. ‘Z’ is the zone designator for
the zero UTC offset. “09:30 UTC” is
therefore represented as “09:30Z” or
“0930Z”. “14:45:15 UTC” would be
“14:45:15Z” or “144515Z”.
如果要包含偏移量
int hours = TimeZoneInfo.Local.BaseUtcOffset.Hours; string offset = string.Format("{0}{1}",((hours >0)? "+" :""),hours.ToString("00")); string isoformat = DateTime.Now.ToString("s") + offset; Console.WriteLine(isoformat);
有两点需要注意:或者 – 在时间之后需要 – 但显然不会显示正数.根据维基百科,偏移可以是hh格式或hh:mm.我一直待上几个小时.
据我所知,RFC1123(HTTP日期,“你”格式化程序)并不意味着给出时区偏移.所有时间都是GMT / UTC.