当它为00时,SimpleDateFormat逐月减少1

时间:2013-12-05 13:27:01

标签: java simpledateformat

SimpleDateFormat originalDateFormat = new SimpleDateFormat("yyyyMMddHH:mm:ss");
originalDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = originalDateFormat.parse(getDate()+getTime());

对于输入2014000513:02:44,它会生成值为2013120513的日期对象:02:44

1 个答案:

答案 0 :(得分:4)

将属性lenient设置为false,它会生成错误而不是减去一个月(因为没有月份0)。

例如

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHH:mm:ss");
originalDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
originalDateFormat.setLenient(false);
Date date = originalDateFormat.parse(getDate()+getTime()); //you'll get an error here