Faraz:
私はにLocalTimeは、タイムゾーンにとらわれないであることを理解しています。しかし、私は中部標準時(CST)に時間を取得したいと思います。私は与えられていますすべてが文字列での時間です。
String start = "11:00" //11 am CST.
LocalTime startTime = LocalTime.parse(start);
これは良いのですが、サーバが異なる時間帯に実行されています。だから、午前11時のUTCとしてそれを解釈します。私はにLocalTimeはCSTになりたいです。私はLocalTime.isAfterメソッドを呼び出すことができますので、私は、CST内に必要です。
LocalTime currentTime = LocalTime.now();
boolean afterEleven = currentTime.isAfter(startTime);
amseager:
LocalDateTime.now()
実際のショートカットでLocalDateTime.now(Clock.systemDefaultZone())
、Clock.class
(いくつかの日付・時刻を表しているドキュメントを参照)、および静的メソッドは、systemDefaultZone()
お使いのPCの日付・時刻を返します。
あなたのケースでは、それは別のゾーンのための「時計」を使用することが可能です( -説明を参照してくださいidのゾーン=「CST」は存在しませんが、あなたの代わりに、「アメリカ/シカゴ」を選択することができ、この答えで)。
LocalTime currentTime = LocalTime.now(Clock.system(ZoneId.of("America/Chicago")));
UPDは適切にタスクを理解していませんでした。このケースでは、実際に変換する方が簡単です currentTime
の代わりにstartTime
必要なゾーンに。
LocalTime currentTime = LocalTime.now(Clock.system(ZoneId.of("Europe/London")));
または、オレVVは思い出したように:
LocalTime currentTime = LocalTime.now(ZoneId.of("Europe/London"));
あなたはそのままでそれを比較することができますstartTime
(この場合は- 11:00)