アプリケーション内でNodaTimeを使用する方法を学習しようとしていますが、このライブラリで特定のことを行う方法の例をあまり見つけることができません。
与えられた:
- の日付/時刻テキスト
"2012/08/30 17:45:00"
- フォーマット文字列は
"yyyy/MM/dd HH:mm:ss"
- UTCからの日付/時刻オフセットは
-5
これをNodaTimeで解析して、
OffsetDateTime
?Instant
?
アプリケーション内で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);
にも同様のパーサーがありますがInstant
、オフセットではなく UTC 時間が必要です。
DateTimeOffset
BCL でテキスト解析を使用して、次のことを行うこともできます。
var odt = OffsetDateTime.FromDateTimeOffset(dto);
いずれにせよ、一度取得するOffsetDateTime
と、次のように変換できますInstant
。
var instant = odt.ToInstant();