使用SimpleDateFormat转换时间格式抛异常

neusimon 2014-04-25 09:34:19
我使用SimpleDateFormat转换时间的代码如下

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.sql.Date dd = new java.sql.Date(sdf.parse("2222-11-22 12:22:22").getTime());


使用这两行代码之后我System.out.println(dd)得到的是 2222-11-22
因为我要写数据库,当我把dd这个数据setDate到PreparedStatement中的一个参数的时候,抛异常为 java.text.ParseException: Unparseable date: "2"

我不是很明白怎么回事,猜测是sdf.parse("2222-11-22 12:22:22").getTime();的时候丢失精度了,求各位帮忙看看,万分感谢。
...全文
723 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky_08_06_02 2016-08-20
  • 打赏
  • 举报
回复
get it
  • 打赏
  • 举报
回复
java.sql.Date--->java.util.Date 导入的包java.util.Date是包含java.sql.Date的,所以即使是写进数据库导入java.util.Date比较合理; 数据库连接池建议试试mybatis框架,map映射数据库CURD基本操作,很简单的~
neusimon 2014-04-25
  • 打赏
  • 举报
回复
内牛满面啊,终于知道问题咋回事了,java.sql 定义的时间类型包含三个类,date,time和timestamp.分别用来表示日期(无时间信息,eg: yyyy-mm-dd),时间(只处理时间,无日期部分, eg:hh:mm:ss)和时间戳(精确到纳秒级别)在它们都继承自java.util.date.
neusimon 2014-04-25
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
java.sql.Date--->java.util.Date
因为我之后还要用下面这个函数把它set到PreparedStatement类型的变量里,参数只能是sql.date,纠结啊。。。。。。

void setDate(int parameterIndex, java.sql.Date x)
            throws SQLException;
neusimon 2014-04-25
  • 打赏
  • 举报
回复
引用 1 楼 wzy580231pb 的回复:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dd = sdf.parse("2222-11-22 12:22:22"); System.out.println(dd.getTime());
能说的详细点么,不是很明白
tony4geek 2014-04-25
  • 打赏
  • 举报
回复
java.sql.Date--->java.util.Date
随记N 2014-04-25
  • 打赏
  • 举报
回复
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dd = sdf.parse("2222-11-22 12:22:22"); System.out.println(dd.getTime());

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧