获取以下格式的DateTime:2018-10-26T16:44:38 + 01:00

时间:2018-07-31 06:47:41

标签: c# .net datetime string-formatting datetimeoffset

我无法让DateTime.UtcNow正确格式化为2018-10-26T16:44:38+01:00。我已经尝试了下面的代码,但是输出结果与我期望的有所不同:

DateTimeOffset.UtcNow.ToString("o");

有人有什么建议吗?

2 个答案:

答案 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