for (final Object[] obj : leaveObjects) {
for (int i = 0; i < obj.length; i++){
try {
jdbcTemplate.update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(
Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(sql,
new String[] { "pk_CompOff_compOffId" });
ps.setInt(1, (Integer)obj[0]);
ps.setInt(2, (Integer)obj[1]);
ps.setInt(3, (Integer)obj[2]);
ps.setInt(4, (Integer) obj[3] );
try {
ps.setDate(5, new java.sql.Date(formatter.parse(obj[4].toString()).getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我试图使用上面的代码使用spring jdbc模板将这个日期从java保存到数据库,但是得到了这个异常:
java.text.ParseException: Unparseable date: "Sun Feb 15 00:00:00 PST 2015"
。
我正在使用这个格式化程序
SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a");
我如何解决这个问题?
答案 0 :(得分:0)
改变:
SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a");
为:
SimpleDateFormat formatter = new SimpleDateFormat("EEEE MMM dd HH:mm:ss z yyyy");
注意:
a
用于AM/PM
,z
用于Time zone
(例如 PST )
有关更多参考,请查看此文档:
http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
答案 1 :(得分:0)
您也必须使用区域设置,否则它将不会在每个区域设置中运行。
试试这个
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);