DateTime 字符串的时间部分以及偏移量代表哪个时区?

Sam*_*eer -1 c# datetime

我有 DateTime 字符串 as 2020-01-21T16:17:01.2202038-05:00,我想知道16:17:01.2202038代表本地时间还是 UTC 时间?如何在 C# 中保留本地时间?

Mat*_*int 5

偏移量为-05:00,表示给定的日期和时间 ( 2020-01-21T16:17:01.2202038) 比 UTC 晚 5 小时。换句话说,它是某个时区的本地时间,即该时间点的 UTC-5。

这不一定与您正在评估代码的计算机的本地时间相同,也不能保证相同时区的其他时间点的偏移量相同。

在 .NET 中,最好用DateTimeOffset类型而不是DateTime类型来表示此类数据。

顺便说一下,这种格式被定义为ISO 8601RFC 3339规范的一部分。