gpt4 book ai didi

nodatime - 如何使用 NodaTime 解析带有偏移量的日期和时间字符串?

转载 作者:行者123 更新时间:2023-12-01 01:11:16 33 4
gpt4 key购买 nike

我正在尝试学习如何在我的应用程序中使用 NodaTime,但找不到很多关于如何使用此库执行某些操作的示例。

鉴于:

  • "2012/08/30 17:45:00" 的日期/时间文本
  • 格式字符串是 "yyyy/MM/dd HH:mm:ss"
  • UTC 的日期/时间偏移量是 -5

  • 我如何用 NodaTime 解析这个以获得一个
  • OffsetDateTime ?
  • Instant ?
  • 最佳答案

    使用纯 NodaTime 代码,目前没有 OffsetDateTime 的直接解析器。 .见 documented limitations .但是,您可以通过解析 LocalDateTime 来构造一个和一个 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);
    Instant 有一个类似的解析器,但它需要 UTC 时间 - 而不是偏移量。

    您也可以只使用文本解析 DateTimeOffset在 BCL 中,然后执行:
    var odt = OffsetDateTime.FromDateTimeOffset(dto);

    无论哪种方式,一旦您拥有 OffsetDateTime ,它可以转换为 Instant :
    var instant = odt.ToInstant();

    关于nodatime - 如何使用 NodaTime 解析带有偏移量的日期和时间字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15371656/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com