例如,當我要 long with 時new Date().getTime(),我發現當 time > 11:59:59 時,它總是決議 00:xx:xx;12:00:00 --> 00:00:00、12:23:56 --> 00:23:56;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date parse = null;
try {
parse = format.parse(str);
log.debug("time{}", parse);
} catch (ParseException e) {
e.printStackTrace();
}
當str = "2022-01-12 11:59:59"它運作良好時;
當str = "2022-01-12 12:00:00"它運行不佳時,它給了我 00:00:00;
當str = "2022-01-12 12:15:00"它運行不佳時,它會給我 00:15:00;
當str = "2022-01-12 13:15:00"它運作良好時,它會給我 13:00:00;
uj5u.com熱心網友回復:
如果您檢查檔案的 SimpleDateFormat,
h == 上午/下午的小時 (1-12)
所以中午12點是午夜。
如果你想要一個 24 小時的時間,大寫的 'H' 而不是小寫的 'h' 來表示小時
H == 一天中的小時 (0-23)
uj5u.com熱心網友回復:
tl;博士
LocalDateTime.parse( "2022-01-12 12:15:00".replace( " " , "T" ) )
細節
正如其他人所說,您的格式模式在使用hh12 小時制而不是HH24 小時制時是不正確的。
此外,您正在使用可怕的遺留日期時間類,這些類在幾年前被JSR 310 中定義的現代java.time類所取代。
您的輸入字串幾乎符合日期時間字串的 ISO 8601 標準。將中間的空格替換為T.
String input = "2022-01-12 12:15:00".replace( " " , "T" ) ;
決議為LocalDateTime. 無需指定格式模式。
LocalDateTime ldt = LocalDateTime.parse( input ) ;
uj5u.com熱心網友回復:
我明白了,應該是 hh:mm:ss ---> HH:mm:ss
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411903.html
標籤:
上一篇:谷歌表格查詢今天
下一篇:JavaDate給出不同的日期
