問題タブ [zoneddatetime]

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 投票する
2 に答える
2994 参照

java - ZonedDateTime を文字列に変換する

現在の時刻を文字列としてデータベースに保存する必要があります。時間は異なるタイムゾーンにある可能性があるため、Java SE 8 の新しい ZonedDateTime クラスの使用を検討しています。

toString() メソッドが自動的に出力することに気付きました:

これも ZonedDateTime.parse() で読み取れるようで、正しい値に変換されます。

これらの値を保存するだけで、値をユーザーが読み取り可能な形式に変換する必要がない場合、適切なタイムゾーンでデータを正確に保存するために必要なことはこれだけですか? たとえば、toString() 表現を格納することによって 2 つの ZonedDateTimes を SQL データベースに挿入し、後で ZonedDateTime.parse() を使用してこれらの時刻を読み取った場合、isAfter() や isBefore() などは正常に動作すると期待できますか?大丈夫?

または、その間のステップがありませんか?Java 7 でタイムゾーンを理解しようとした後、これはほとんど簡単すぎるように感じます。

0 投票する
4 に答える
20143 参照

java - Jackson アノテーション JsonFormat$Value json java.lang.NoSuchMethodError

com.fasterxml.jackson.core:jackson-annotations:2.6.0私のgradleプロジェクトで使用しています。プロジェクトのビルド ファイルに追加com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.0してから、gradle プロジェクトの実行中にこの例外が発生しました。これが私のエラーのスタックトレースです。

原因: org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value; です。org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) で org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory .instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) ... 117 以上 原因: java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat$Value. empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value; com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50) で com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535) で com.fasterxml.jackson.databind.ObjectMapper.( ObjectMapper.java:452) org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553) org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57) org. springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187) at sun.reflect. NativeConstructorAccessorImpl.newInstance0(Native Method) の sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) の sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) の java.lang.reflect.Constructor.newInstance(Constructor. java:422) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ... 119 より多く org.springframework.beans.factory.BeanCreationException にネスト: 'org.springframework.web. servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;: java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation です。 .JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value; com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50) で com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535) で com.fasterxml.jackson.databind.ObjectMapper.( ObjectMapper.java:452) org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553) org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57) org. springframework.http.

@JsonFormat私は自分のクラスで使用していません。しかし、UTC で Json との間でシリアル化および逆シリアル化するために 2 つのクラスを使用する注釈がJsonSerializerあります。このシリアライゼーションとデシリアライゼーションを初めて行うので、提案をお願いします。JsonDeserializerZonedDateTime

これが私のgradleファイルコードです:

0 投票する
1 に答える
15791 参照

java - java.time の ZonedDateTime に時刻を設定しますか?

ZonedDateTime既存のオブジェクトの時刻部分を変更するにはどうすればよいですか? 日付とタイムゾーンは保持したいが、時間と分を変更したい。

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

java - ZonedDateTime は正常に解析されますが、出力文字列が異なります

を使用しZonedDateTimeて、タイムゾーンに従って現在の時刻を解析および取得しています。

次を解析するStringと、解析は成功しますが、出力Stringが異なります。何故ですか?

出力

どの時点で変更+1が決定され+2、例外がスローされなかったのはなぜですか?

括弧内のパラメーターはオプションであることは理解しています[Europe/Paris]が、ここではオフセットよりも優先されます。

一方、次のコード

出力を生成する

0 投票する
1 に答える
254 参照

java - Instant、ZonedDateTime、および UTC について混乱している

UTC の概念と Java 8 の新しい TimeApi を理解しようとしています。

次の出力が出力されます。

ゾーン オフセットCase1+02:00時間単位である理由は何Case2 +01:00ですか?

0 投票する
4 に答える
46194 参照

java - Jackson は、Spring Boot で ZonedDateTime を間違ってシリアル化します

Spring Boot と Jetty を使用した単純なアプリケーションがあります。Java 8 を持つオブジェクトを返す単純なコントローラーがありますZonedDateTime

私のRestController中で私は単に持っています:

ZonedDateTimeISO 形式に従ってフォーマットされることを期待していましたが、代わりに、次のようなクラスの JSON ダンプ全体を取得しています。

を使用して除外するspring-boot-starter-webアプリケーションがあります。spring-boot-starter-jettyspring-boot-starter-tomcat

Spring BootでJacksonがこのように振る舞うのはなぜですか?

** アップデート **

これを解決するための完全なステップバイステップガイドを探している人のために、質問をした後にこれを見つけました: http://lewandowski.io/2016/02/formatting-java-time-with-spring-boot-using-json/

0 投票する
1 に答える
887 参照

java - Morphia を介した MongoDB の ZonedDateTime

手短に:

  • java.time.ZonedDateTimeargs コンストラクターがありません (実際には、
    コンストラクターがまったくありません)
  • これを克服するにはZonedDateTimeConverter、モルフィア用に
  • コンバーターなしで保存してロードしようとすると、すべてのフィールドを読み取ってそこから ZonedDateTime オブジェクトを開始できるためZonedDateTime、Morphia は完全なZonedDateTimeオブジェクトを保存しますが、ロード時に例外が発生しました。DBObjectNo usable constructor for java.time.ZonedDateTime
  • コンバーターでを保存してロードしようとすると、ZonedDateTime別の例外が発生しました: Can't find a codec for class java.time.LocalDateTime. この記事に基づいて、コンバーターをいじり始めましたが、結果はありませんでした。
  • したがって、コンバーターがない場合は、保存できますがロードできません。コンバーターがある場合は、コーデックがないために保存することさえできません。

何か案が?

更新:ZonedDateTime (たとえばLocalDateTime、、、 ) から始まる各サブタイプのコンバーターを作成する必要があることが判明しましたが、パッケージ プライベートであるコンバーターを作成する必要があることが判明しましLocalDateた。LocalTimejava.time.ZoneRegion

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

mysql - java.sql.Date から ZonedDateTime に変換する方法

java.sql.Date から ZonedDateTime に変換しようとしています。これは私が使用しているコードです

ただし、次のエラーが発生します-

この変換を行う方法はありますか?