編輯:看看這個other stackoverflow post爲什麼一個應該更喜歡使用Java 8 java.time
類在Calendar
或Date
在你的情況下,爲了解析在輸入形式爲「HH:mm」,您可以創建一個DateTimeFormatter
並使用靜態方法LocalTime.parse(inputString, dateTimeFormatter)
獲得LocalTime對象
例如:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime time = LocalTime.parse(timeInputString, formatter);
看看在Java documentation for DateTimeFormatter有關模式的更多信息,年,日,或什麼的。
如果您希望從字符串中獲得日期和時間(如「10:50」),您將無法使用LocalDateTime.parse
方法,因爲它無法從「HH :毫米「字符串。因此,解決這個問題的方法是創建時間過的LocalTime.parse
如上圖所示,然後使用靜態方法LocalDate.now();
獲取當前日期,然後使用它的靜態工廠方法LocalDateTime.of(date, time)
例如這兩個結果結合成一個LocalDateTime
對象:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime time = LocalTime.parse(timeInputString, formatter);
LocalDate date = LocalDate.now();
LocalDateTime dateTime = LocalDateTime.of(date, time);
難道我得到的是否正確?用戶輸入一個時間,比如10:50 - 使用24小時制?由此你需要在輸入的時間得到今天的日期,例如2017-09-06 10:50:00 - 對吧? –