首页 > 技术文章 > Cannot format given Object as a Date

yeyuchangfeng 2017-04-10 16:23 原文

这个小错挺有意思的,记录一下

导出Excel的时候,同事直接用 format ……

前提:数据库中该字段是 Timestamp ---- 2016-06-20 22:49:02.967

写个测试说明一下:

        String temp = "2016-06-20 22:49:02.967";
	//temp = temp.substring(0,aaa.lastIndexOf("."));
	Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(temp);
	String str = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
	System.out.println("==== this time ==="+str);        

  这个 format 和 parse 需要传入的参数类型是有要求的,不能乱传。

其实也可以直接在sql中直接处理。to_date(ttvl.use_date, 'yyyy-mm-dd hh24:mi:ss') --看需要格式

乱传……

那就报错呗……

 java.lang.IllegalArgumentException: Cannot format given Object as a Date
	at java.text.DateFormat.format(DateFormat.java:301)
	at java.text.Format.format(Format.java:157)
	at com.QueryTest.main(QueryTest.java:32)

  

推荐阅读