【发布时间】:2020-01-01 06:43:42
【问题描述】:
使用 Noda Time 时,是否有更直接的方法可以从一组离散的非 UTC 值(即单独的年、月、日、小时、分钟值)转换为 UTC DateTimeOffset 变量?我正在循环执行以下操作,创建LocalDateTime 然后连续应用两个不同的时区似乎有点奇怪。
DateTimeOffset target =
new LocalDateTime(year, month, day, hour, minute)
.InZoneStrictly(dataTimeZone)
.WithZone(utcTimeZone)
.ToDateTimeOffset();
我意识到我可能过度思考/微优化,但由于我是 Noda Time 的新手,我主要是问是否有一种方法可以减少步骤或者在某些方面更好。 (我知道InZoneStrictly 可以抛出异常,这实际上与调度系统有关,所以我绝对不想要无效或自动调整的结果。)
【问题讨论】:
-
这对我来说很好——如果你选择“你必须从什么开始”(一个本地日期/时间和一个时区)和“你想结束什么”(一个偏移量为 0 的 DateTimeOffset,因为您想要 UTC 值)那么这些转换似乎完全合适。