java - 将字符串转换为日历 - 日历是错误的日期
问题描述
试图将字符串“2019-08-21 9:04:08”解析为日历对象。
我从 calender.getTime() 得到结果 Mon Dec 31 09:04:08 GMT 2018
这是我解析它的方式
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD hh:mm:ss");
try {
cal.setTime(sdf.parse("2019-08-21 9:04:08"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// all done
return cal;
}
解决方案
您没有使用正确的解析器格式。您需要的是"yyyy-MM-dd hh:mm:ss"
. 格式"YYYY"
是基于周的日历年,这不是您想要的。正如@rajah9 指出的那样,文档可以进一步指导SimpleDateFormat
.
推荐阅读
- jboss - 在哪里可以找到更大尺寸的 drools 文档的铁路图
- java - 改进一个 java soap 客户端
- python - Pyserial 无法将所有字符发送到 arduino,但可以在另一个 PC 终端上发送
- c++ - c++类分配动态数组失败(内存泄漏)
- javascript - 使用蓝牙将 react-native 应用程序与振动传感器连接起来
- c# - 如何使用 Entity-Framework .Net Core 使用 order by(ASC 和 DESC)
- python - Osmnx:如何检索公共汽车站信息节点上的信息,它是高速公路的一部分?
- visual-studio-code - WSL 中的 VSCode 和 MPI
- heroku - 部署在 heroku 上的 MERN 堆栈应用程序的 503(服务不可用)
- logstash - 从filebeat发送json消息到logstash