问题描述
有人给了我一个这样的例子:
LA 比“UTC+0”晚 8 小时,因此在 480 分钟的“UTC+8”时区。偏移值应该是将 UTCZ 日期时间转换回原始系统的本地时间的分钟数,在此转换中比 UTCZ 晚 480 分钟……因此 utcz_offset_mins 中的值应该 = -480。 (注意减号)。
我正在考虑这个:
DateTimeOffset.UtcNow.UtcDateTime.Minute;
但这并不准确,有人知道如何实现吗?
解决方法
如果您正在寻找以分钟为单位的 UTC 总偏移量,您需要使用以下内容:
DateTimeOffset.Now.Offset.TotalMinutes
您尝试的代码不能访问 Offset
,但实际上只能访问 UTC 日期时间的 Minute
部分。
您的问题是关于时区,但您的示例代码使用的是当前时间。 DateTimeOffset
是一个时间实例,类似于 DateTime
,但也包含 UTC 偏移量。您要使用的类是 TimeZoneInfo
。