4

アプリケーション内でNodaTimeを使用する方法を学習しようとしていますが、このライブラリで特定のことを行う方法の例をあまり見つけることができません。

与えられた:

  • の日付/時刻テキスト"2012/08/30 17:45:00"
  • フォーマット文字列は"yyyy/MM/dd HH:mm:ss"
  • UTCからの日付/時刻オフセットは-5

これをNodaTimeで解析して、

  • OffsetDateTime
  • Instant
4

1 に答える 1

4

純粋な 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);

にも同様のパーサーがありますがInstant、オフセットではなく UTC 時間が必要です。

DateTimeOffsetBCL でテキスト解析を使用して、次のことを行うこともできます。

var odt = OffsetDateTime.FromDateTimeOffset(dto);

いずれにせよ、一度取得するOffsetDateTimeと、次のように変換できますInstant

var instant = odt.ToInstant();
于 2013-03-12T23:06:00.573 に答える