問題タブ [offsetdatetime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
3840 参照

java - Java 8 で OffsetDateTime が '2016-08-24T18:38:05.507+0000' を解析できない理由

表現

OffsetDateTime.parse("2016-08-24T18:38:05.507+0000")

次のエラーが発生します。

java.time.format.DateTimeParseException: テキスト '2016-08-24T18:38:05.507+0000' をインデックス 23 で解析できませんでした

一方で、

OffsetDateTime.parse("2016-08-24T18:38:05.507+00:00")

期待どおりに動作します。

DateTimeFormatter のドキュメント ページでは、例としてコロンのないゾーン オフセットについて言及しています。私は何を間違っていますか?Javaをなだめるために日付文字列を台無しにしたくありません。

0 投票する
2 に答える
80 参照

java - 異なるインスタンス化メソッドを使用すると、OffsetDateTime オブジェクトの LocalDateTime と ZoneOffset の値が異なる

を使用して OffsetDateTime オブジェクトを作成する

  1. ofInstant(instant, zoneid) または via
  2. 流暢なインターフェース

流暢なインターフェイスを介したインスタンス化が夏時間の境界を超える場合、(compareTo アサーションを使用するか、ZoneOffset フィールドと LocalDateTime フィールドを比較することによって) 等しくないオブジェクトにつながる可能性があります。次の例を検討してください。

10 月中旬の中央ヨーロッパ (ZoneId 'Europe/Berlin') では、最初の呼び出し ( ) をplusMonths()再利用するため、2 つの等しくないオブジェクトが生成されます。offsetnow()

オフセットが再計算されない理由を知っている人はいますか?

単体テスト中にこの問題に遭遇しましたが、私が思いついた唯一の回避策は、a) 流れるようなインターフェイスを使用しないか、b) 流れるようなインターフェイスを使用している間はクロス DST ジャンプを使用しないことでした。残念ながら、OffsetDateTime 以外のものを使用することはできません。

0 投票する
0 に答える
300 参照

spring - Spring JDBC がタイムゾーンでタイムスタンプのオフセットを失う

Java 8 + Spring 5.1.5R + mybatis 3.5.6 を PostgreSQL 11 で使用しています。

このような日付、タイムスタンプ、タイムスタンプtz列で選択クエリを実行しました。

ibatis のログはこのように表示されます。

t_timestamptz 列にはオフセットがあり、t_timestamp 列にはオフセットがありません。

しかし、java.sql.Timestamp と java.sql.Date しか表示されません。

オフセット付きのtimestamptz列の値とオフセットなしのtimestamp列の値を取得するにはどうすればよいですか?