给定未分区的DateTime和时区,我如何在NodaTime中构建一个瞬间?

时间:2015-05-13 22:05:06

标签: c# .net timezone nodatime

我明确构建了DateTime

var myDateTime = new DateTime(2015,1,1,0,0,0);

我明确获得了一个时区。

var myTimeZone = DateTimeZoneProviders.Tzdb["America/Los_Angeles"];
已知

myDate代表myTimeZone

如何使用此信息使用NodaTime生成ZonedDateTimeInstant

1 个答案:

答案 0 :(得分:1)

首先,将您的DateTime转换为LocalDateTime

LocalDateTime ldt = LocalDateTime.FromDateTime(myDateTime);

然后您可以将其分配到区域:

ZonedDateTime zdt = ldt.InZoneLeniently(myTimeZone);

然后将其映射回来:

Instant instant = zdt.ToInstant();