2017-03-02 29 views
2

給定一個日期,時間和時間,創建從LocalDateTime新LocalDateTime和本地時間

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

我可以像這樣將它們組合起來:

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

感覺就像應該有一個更方便的方法。類似這樣的:

LocalDateTime rightDateRightTime = rightDateWrongTime.withTime(rightTime); 

但是我找不到任何東西。是否存在類似的方法?

+1

我想你已經做到了最好。在Java-8中,有[更方便的方法](http://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html#with-java.time.temporal.TemporalAdjuster- )類似於你喜歡做的事情。 –

回答

0

您可以使用:

LocalDateTime rightDateRightTime = rightDateWrongTime.withFields(rightTime); 

它爲我(我使用約達2.2 - 不知道什麼時候被介紹withFields法)