我的函数验证日期有问题。
当我将日期安排到凌晨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());
}
}
}
答案 0 :(得分:5)
这是一个夏令时问题。
2005-03-27 02:00:00是您的时区(CET)中不存在的日期和时间 - 在那个晚上,夏令时转移,时钟从01:59:59跳到03: 00:00。