时区日期解析

我使用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问题消失了。

链接地址: http://www.djcxy.com/p/18589.html

上一篇: Timezone Date parsing

下一篇: Set custom timezone in Django/PostgreSQL (Indian Standard Time)