java.text.ParseException:Unparseable date:" 20050327020000"

时间:2015-03-26 13:47:12

标签: java parsing date

我的函数验证日期有问题。

当我将日期安排到凌晨2点时,请填写

  

java.text.ParseException错误:无法解析的日期:“20050327020000”,

然而,如果它正常工作我应该换一个不同的时间,然后我回来了:Sun Mar 27 1:00:00 CET 2005

我把代码放在下面。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class Principal {
/**
 * @param args
 */
public static void main(String[] args) {
    try {
        String format="yyyyMMddHHmmss";
        String date = "20050327010000";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setTimeZone(TimeZone.getDefault());
        sdf.setLenient(false);
        Date d = sdf.parse(date);
        System.out.println("date parsed: " +d.toString());

    } catch (Exception e) {
        System.out.println("Exception: " +e.toString());
    }
  }
}

1 个答案:

答案 0 :(得分:5)

这是一个夏令时问题。

2005-03-27 02:00:00是您的时区(CET)中不存在的日期和时间 - 在那个晚上,夏令时转移,时钟从01:59:59跳到03: 00:00。