C#日期时间格式

C#日期时间格式,c#,C#,如何获得约会时间 2017-06-15T14:20:30+02:00 格式来自 DateTime.utc.now 它是ISO 8601日期格式。我试过了 DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:ss") + DateTimeOffset.UtcNow.ToString(@"zzz"); 但我得到的日期是 2017-10-20-T09:29:20+00:00 应用程序托管在Azure中 DateTime.UtcNow.ToString(@"y

如何获得约会时间

2017-06-15T14:20:30+02:00

格式来自

DateTime.utc.now
它是ISO 8601日期格式。我试过了

DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:ss") + DateTimeOffset.UtcNow.ToString(@"zzz");
但我得到的日期是

2017-10-20-T09:29:20+00:00

应用程序托管在Azure中

DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH:mm:ss") + DateTimeOffset.Now.Offset.ToString();
这就是它的工作原理:

例1:

例2:

试试这个

    DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:sszzz")

我想你误解了ISO8601。对于
UtcNow
,偏移后缀将始终为+00:00。格式显示本地时间,后缀表示本地时间相对于UTC时间的偏移量


UtcNow
是UTC区域中的当前时间,而不是本地区域-因此,其到UTC的偏移量为0。

应用程序托管在azure中。预期格式与输出格式相同。。。只有日期和时间本身不同。。。有什么问题<代码>2017-06-15T14:20:30+02:00和
2017-10-20-T09:29:20+00:00
是相同的格式…EpicKip是正确的,您所需的格式和实际报告的格式是相同的。您是否在询问如何在不同的时区而不是不同的格式中获取日期?@zzz始终返回00:00值。不确定是因为时区的原因。如果是,则如何解决该问题。对于“格式”一词造成的混乱,我深表歉意。Azure始终在UTC时区运行,而不是本地(到什么地方?)时区。我需要使用UTC。现在,而不是您提到的dt,所以我应该这样继续。Datetime.utcnow.ToLocalTime().ToString(“yyyy-MM-dd-HH:MM:ss\'GMT\'zzz”);同样的结果没有运气。
var dt = new DateTime(2010, 1, 1, 1, 1, 1, DateTimeKind.Utc);
        string s = dt.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss \"GMT\"zzz");
        Console.WriteLine(s);
    DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:sszzz")