なぜjava.time.Clockは、ゾーン情報を持っているのでしょうか?

ジェームズ:

なぜは、java.time.Clockゾーン情報を持っていますか?クロックからあなただけ得ることができますInstant呼び出すときにinstant()、ゾーン情報なし時間である-方法を。

このようなZonedDateTimeを作成するなどのクロックで利用可能なゾーンを持っている唯一の目的は? ZonedDateTime.ofInstant(clock().instant(), clock().getZone())

それは、その後の方法持っている意味がありませんzonedDateTime()時計のクラスでは?

Hessleののマーティン:

代替クロック行動

引用Clock文書(強調鉱山を):

時計の使用はオプションです。すべてのキー日付・時間クラスは、デフォルトのタイムゾーンでシステムクロックを使用して、今()ファクトリメソッドを持っています。この抽象化の主な目的は、交互のクロックが必要なときのようにプラグインできるようにすることですアプリケーションは、現在の時刻ではなく、静的メソッドを取得するためにオブジェクトを使用します。これは、テストを簡素化することができます。

たとえば、Clock.fixed( Instant fixedInstant, ZoneId zone )常に特定の瞬間、時間内の固定(非変化)点として現在の瞬間を報告しています。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=175436&siteId=1