2017-03-02 9 views
2

ein Datum-Zeit und eine Zeit gegeben,Erstellen Sie ein neues Local von einem Local und Localtime

LocalDateTime rightDateWrongTime = new LocalDateTime("2017-03-02T15:23:00.000"); 
    LocalTime rightTime = new LocalTime("17:30:00"); 

ich sie wie so kombinieren kann:

LocalDateTime rightDateRightTime = rightDateWrongTime.withTime(
     rightTime.getHourOfDay(), rightTime.getMinuteOfHour(), 
     rightTime.getSecondOfMinute(), rightTime.getMillisOfSecond()); 

Es fühlt sich an wie eine sein sollte, bequemere Methode. Etwas wie dieses:

LocalDateTime rightDateRightTime = rightDateWrongTime.withTime(rightTime); 

Aber ich kann nichts finden. Gibt es eine ähnliche Methode?

+1

Ich denke, Ihnen das Beste getan haben. In Java-8 gibt es [einen bequemeren Weg] (http://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html#mit-java.time.temporal.TemporalAdjuster-) ähnlich wie du es gerne machst. –

Antwort

0

können Sie verwenden:

LocalDateTime rightDateRightTime = rightDateWrongTime.withFields(rightTime); 

Es funktionierte für mich (ich verwende joda 2.2 - nicht sicher, wenn withFields Methode eingeführt wurde)