java.sql.date按照年月日时分秒转化为啥会有不是00:00:00的时分秒
java.sql.Date date=new java.sql.Date(new Date().getTime());
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sf.format(date));
图片如下 :
------解决方案--------------------
经过我的测试,如果要显示2014-04-16这个日期的话,代码如下
java.sql.Date date =new java.sql.Date(0);
date.setYear(114);
date.setMonth(3);
date.setDate(16);
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("sqlDate:\t"+date);
System.out.println("formate的时间:\t"+sf.format(date));
这里注意一下,setYear是在1900的基础上再加那么多,所以要设置成2014参数是114,而setMonth是在1的基础上加,所以要4月的话参数是3,而date的话,是在0的基础上加,所以是哪天就是哪天了,如果你要显示前一天的话,如
date.setYear(0);
date.setMonth(0);
date.setDate(0);
这个代码的结果就是1899-12-31
另外,你显示时分秒是因为你的SimpleDateFormat 就这么格式化的。
------解决方案--------------------
年月日是yyyy-MM-dd,你给的代码里面是hh:mm:ss,是时分秒
------解决方案--------------------
你问这个问题我就只能说你懒了。你去查API