我正在尝试学习如何在我的应用程序中使用 NodaTime,但找不到很多关于如何使用此库执行某些操作的示例。
鉴于:
"2012/08/30 17:45:00""yyyy/MM/dd HH:mm:ss"-5我如何用 NodaTime 解析它以获得
OffsetDateTime?Instant?使用纯 NodaTime 代码,目前没有直接解析OffsetDateTime. 请参阅记录的限制。LocalDateTime但是,您可以通过分别解析 a和 an来构造一个Offset:
var ldt = LocalDateTimePattern.CreateWithInvariantCulture("yyyy/MM/dd HH:mm:ss")
.Parse("2012/08/30 17:45:00")
.Value;
var o = OffsetPattern.GeneralInvariantPattern
.Parse("-05")
.Value;
var odt = new OffsetDateTime(ldt, o);
Run Code Online (Sandbox Code Playgroud)
有一个类似的解析器Instant,但它需要 UTC 时间 - 而不是偏移量。
您也可以只使用 BCL 中的文本解析DateTimeOffset,然后执行以下操作:
var odt = OffsetDateTime.FromDateTimeOffset(dto);
Run Code Online (Sandbox Code Playgroud)
不管怎样,一旦你有了一个OffsetDateTime,它就可以转换为一个Instant:
var instant = odt.ToInstant();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |