Java 8 LocalDateTime heute zu bestimmter Uhrzeit

8

Gibt es einen schöneren / einfacheren Weg, LocalDateTime -Objekt zu konstruieren, das heute um 6 Uhr morgens dargestellt wird?

%Vor%

Irgendwie mag ich es nicht mit Minuten / Sekunden / Nano zu handeln, wenn alles was ich sagen will ist now().withHours() .

    
JanM 28.04.2016, 12:23
quelle

4 Antworten

16

LocalDate hat verschiedene überladene atTime -Methoden, wie zB dieser , der zwei Argumente (Stunde des Tages und der Minute) benötigt:

%Vor%     
assylias 28.04.2016, 12:31
quelle
3

Die angenommene Antwort ist eine gute. Sie können auch Ihre eigene Uhr , um dies zu tun:

%Vor%

Dies kann eine nützliche Option sein, wenn es wiederholt verwendet wird, da die Uhr in einer statischen Variablen gespeichert werden kann:

%Vor%     
JodaStephen 19.06.2017 08:26
quelle
1

Eine weitere Alternative (besonders wenn Sie eine bereits vorhandene LocalDateTime ändern möchten) ist die Verwendung der with() Methode .

Es akzeptiert einen TemporalAdjuster als Parameter. Und nach javadoc Die Übergabe von LocalTime an diese Methode führt genau zu dem, was Sie brauchen:

  

Die Klassen LocalDate und LocalTime implementieren TemporalAdjuster, daher kann diese Methode verwendet werden, um Datum, Uhrzeit oder Offset zu ändern:

     

result = localDateTime.with (Datum);
  result = localDateTime.with (Zeit);

Also, der Code wird sein:

%Vor%     
user7605325 19.06.2017 16:10
quelle
0

Eine Alternative zu LocalDate.now().atTime(6, 0) ist:

%Vor%     
flurdy 28.01.2018 15:29
quelle

Tags und Links