如何从 C# 中的 DateTimeOffset 获取分钟?

问题描述

有人给了我一个这样的例子:

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