我无法让DateTime.UtcNow
正确格式化为2018-10-26T16:44:38+01:00
。我已经尝试了下面的代码,但是输出结果与我期望的有所不同:
DateTimeOffset.UtcNow.ToString("o");
有人有什么建议吗?
答案 0 :(得分:1)
随时在可用的字符串上查看此reference;按照您的要求直接回答您的问题:
string time = DateTime.UtcNow.ToLocalTime().ToString("yyyy-MM-ddTHH:mm:sszzz");
以防万一提供的链接断开;我已经在回答中使用了格式字符串的描述:
dd - Provides a double digit day 01 - 31.
HH - Provides a double digit hour 00 - 23.
MM - Provides a double digit month 01 - 12.
mm - Provides a double digit minute 00 - 59.
ss - Provides a double digit second 00 - 59.
yyyy - Provides a four digit year 0000 - 9999.
zzz - Provides the hours and minutes offset from UTC.
答案 1 :(得分:1)
这就是您想要的:
dt.ToLocalTime().ToString("yyyy-MM-ddTHH:mm:sszzz")
请注意,对于24小时格式,您必须使用大写的“ HH”。
Microsoft官方documentation。