我想將日期從2009年5月15日19:24:11 MDT到20090515192411. 但是當我嘗試下面的代碼時,readformat本身將輸入爲5月16日,而不是5月15日SimpleDateFormat返回錯誤的日子
這是我的代碼。
String dateInString = "May 15, 2009 19:24:11 PM MDT";
DateFormat readFormat = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a z");
DateFormat writeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = null;
try {
date = readFormat.parse(dateInString);
}
catch(ParseException e) {
e.printStackTrace();
}
System.out.println(date); // Prints May 16, 2009 07:24:11 AM MDT
String formattedDate = "";
if(date != null) {
formattedDate = writeFormat.format(date);
}
System.out.println(formattedDate); // Prints 20090516072411
感謝您的幫助提前。
19和PM對我無效 –
解決了這個問題自己修改了readFormat從「MMM dd,yyyy hh:mm:ss az」到「MMM dd,yyyy HH:mm:ss az」(hh到HH) – Satya