我正在使用 SimpleDateFormat 解析 UTC 日期字符串,并将其解析为上一个日期。
DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
此字符串“Fri, 06 Apr 2012 04:00:00 GMT”被解析为 2012 年 4 月 5 日。为什么?谢谢。
以下是日期转换的示例...
对于您的程序,请进行相应的更改,并让我知道您得到了什么输出。
String dateStr = "Thu Jan 19 2012 01:00 PM";
DateFormat readFormat = new SimpleDateFormat( "EEE MMM dd yyyy hh:mm aaa");
DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = readFormat.parse( dateStr );
} catch ( ParseException e ) {
e.printStackTrace();
}
String formattedDate = "";
if( date != null ) {
formattedDate = writeFormat.format( date );
}
System.out.println(formattedDate);
输出是2012-01-19 13:00:00
当心 JDK 1.5.0_22 (linux)。产生不正确的日期。切换到JDK 1.6 问题就没有了。