我想在java中将字符串日期转换为时间戳。以下是我写的代码。传递的日期值的格式为 19-SEP-2013。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
Date date = dateFormat.parse(tcmo.getCtsDate());
ps.setTimestamp(ctr++, new Timestamp(date.getTime());
变量ctr已经声明。 ps 是 PreparedStatement
对象。后面的代码包括ps.executeUpdate()
。
tcmo.getCtsDate()
返回值 2013 年 9 月 19 日。
数据库只能接受格式为2013-09-19 00:00:00.0的时间戳
抛出的异常是无法解析的日期“19-SEP-2013”
。谁能帮我解决这个问题吗?
最佳答案
您的格式字符串
(yyyy-mm-dd HH:mm:ss
) 和您的输入(19-SEP-2013
) 不正确不匹配。
将 String
解析为 Date
对象需要 dd-MMM-yyyy
格式
例如...
try {
String text = "19-SEP-2013";
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
Date date = sdf.parse(text);
System.out.println(text + " to " + date);
} catch (ParseException exp) {
exp.printStackTrace();
}
输出...
19-SEP-2013 to Thu Sep 19 00:00:00 EST 2013
关于java - 如何在Java中将字符串日期转换为时间戳,格式为dd-MMM-yyyy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18777770/