数据库插入日期,取出日期,显示格式的问题

解决日期存储取值问题:

在数据库中插入带时分秒的时间需要用Timestamp。
1.数据库字段设置为timestamp类型

2.vo层字段映射到java对象的属性,类型对应为Timestamp
这里写图片描述
3.controll控制层设置时间,采用如下方法
这里写图片描述
4.表现层,如果用jstl取值,方法如下:
这里写图片描述
这里写图片描述
5.程序媛都是善良的,如果能帮助到你,拿去不谢!

个人分析:

通常我们使用日期时候,会涉及到这三个类
Java.sql.Date,java.sql.Time,java.sql.Timestamp
而这三个都是java.util.Date的子类(包装类)。因为他们的toString()方法不一样,所以
java.sql.Date显示年月日、
java.sql.Time显示时分秒、
java.sql.TimeStamp显示年月日时分秒纳秒。
所以如果想要取得完整的日期,最好使用TimeStamp.

timestamp拓展:

TimeStamp获取秒数

Timestamp scurrtest = new Timestamp(System.currentTimeMillis());
System.out.println("scurrtest = "+scurrtest);
long sqlLastTime = scurrtest.getTime();// 直接转换成long
System.out.println("sqlLastTime = "+sqlLastTime); //毫秒数
System.out.println("sqlLastTime/1000 = "+sqlLastTime/1000);     // 秒数
String转化为Timestamp: 

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//定义格式,不显示毫秒 
Timestamp now = new Timestamp(System.currentTimeMillis());
//获取系统当前时间 
String str = df.format(now);         
String转化为Timestamp: 
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
String time = df.format(new Date()); 
Timestamp ts = Timestamp.valueOf(time);    

你可能感兴趣的:(其他)