获取系统时间按格式保存在数据库中

01

获取当前时间以规定格式输出:
Date date = new Date();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=df.format(date);

将自定义date存入数据库问题(精确到时分秒的情况):
1.实体类中声明Date类型变量(java.util.date);
2.action中声明String类型变量(因为一般datetimePicker传过来的是String);
3.将日期字符串转换成long类型并放入java.sql.Timestamp中。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date startTimeDate = new java.sql.Timestamp(sdf.parse(startTime).getTime());

注:java.sql.Timestamp会将转换成的long类型数据自动变成日期加时分秒的数据并存入数据库,但从数据库取出来时还是long类型数据,要显示格式化的日期到页面上还需要转换。

 02

Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP" 两种类型的区别

也算不上是Mybatis的bug,只能说是特性,本来就是这么设置的,在连接oracle数据库的时候,当jdbcType="DATE"类型时,返回的时间只有年月日(yyyy-MM-dd)的,当jdbcType=“TIMESTAMP”的时候,返回的时间是年月日和时分秒(yyyy-MM-dd HH:mm:ss),参考下图:

以绑定时间和解绑时间为例:

1.1当绑定时间的jdbcType=“DATE”,解绑时间的为jdbcType=“TIMESTAMP”,xml文件设置如下:

1.2最终查询到的数据类型是DATE的数据只有年月日(yyyy-MM-dd),而TIMESTAMP的年月日和时分秒都有(yyyy-MM-dd HH:mm:ss),如下展示

2.1当两个时间都设为TIMESTAMP的时候,xml文件设置如下:

2.2两个时间数据都展示位年月日和时分秒(yyyy-MM-dd HH:mm:ss),结果如下:

 

人这辈子没法做太多事情,所以每做一件事都要做到精彩绝伦。 因为,这就是我的宿命。人生苦短,你明白吗? 所以这是我为人生做出的选择
原文地址:https://www.cnblogs.com/junjun1578/p/10819353.html