gpt4 book ai didi

c# - 发生 DateTimeInvalidLocalFormat

转载 作者:太空狗 更新时间:2023-10-29 23:14:14 29 4
gpt4 key购买 nike

我正在尝试引用 UTC 时间间隔获取本地日期时间,我正在执行下面的代码。

 var dtString =DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:ss.fzzz"); 

但是每次它返回一个异常作为

enter image description here

为什么会出现这个异常,如何解决这个问题?

最佳答案

z 格式说明符用于显示本地时间和 UTC 时间之间的偏移量。

将它与 UTC 时间一起使用没有意义(因为它始终为 0)。这就是您收到警告的原因(感谢@HansPassant 的评论)。

您可以:

想要打印本地时间和 UTC 的偏移量(这是标准的):

var dtString = DateTime.Now.ToString(@"yyyy-MM-ddTHH\:mm\:ss.f zzz");

或者想要打印 UTC 时间和本地时区(这真的不常见):

var dtString = DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:ss.f") + " " + DateTime.Now.ToString(@"zzz"); 

这或多或少等同于您的代码(如@JeroenMostert link 中所述):

var dtString = DateTime.UtcNow.ToString(@"yyyy-MM-ddTHH\:mm\:ss.fzzz"); 

但生成的字符串根本不标准并导致误解。

"2015-02-18T12:08:15.1 +01:00"

读作本地时间本地时区,而不是UTC时间本地时区

您还可以在此处找到有关时区和良好示例的更多信息:TimeZone.CurrentTimeZone Property

关于c# - 发生 DateTimeInvalidLocalFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582774/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com