编程语言
首页 > 编程语言> > java – 解析“YYYY-MM-dd HH:mm”时,SimpleDateFormat产生错误的日​​期时间

java – 解析“YYYY-MM-dd HH:mm”时,SimpleDateFormat产生错误的日​​期时间

作者:互联网

我试图将字符串(YYYY-MM-dd HH:mm)解析为日期,但是日期错误比预期错误.

码:

Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
    newDate = df.parse(dateTime);
} catch (ParseException e) {
    throw new InvalidInputException("Invalid date input.");
}

生产:

Sun Dec 30 08:30:00 EST 2012 (wrong)

我试过设置Lenient但没有运气.

更新

感谢Sudhanshu的回答,它帮助我解决了Java转换问题.当我从上面的代码输入返回的日期到数据库时,我正确地得到日期,但时间总是00:00.

ps.setDate(3, new java.sql.Date(app.getDate().getTime()));

解决方法:

YYYY应该是yyyy-

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);

请在此处查看SimpleDateFormat的文档
Java 6:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
Java 7:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

标签:datetime-parsing,java,datetime,simpledateformat
来源: https://codeday.me/bug/20190916/1808249.html