数据库设计的时间字段

在家自己做项目,研究了一下数据库设计,记下学习成果。

数据库字段的时间设计很多公司都会选择字符串类型,这个是有争议的。其实这个时间类型的选择,主要看需求,varchar类型也是可以用的, 数据库中的时间仅仅是用来显示、查找的,那么影响还不算大,但如果对时间字段进行一些算法如计算星期几,或者格式化类型不同,这边取值一个格式,另外一个客户端连接取值是另一个格式就比较麻烦,还是选择datetime比较好。

 

另外在存储上

varchar转化存储数据库:

private static String sdf1 = "yyyy-MM-dd HH:mm:ss";
//用来获取当前时间
public static String sdf1(){
    SimpleDateFormat sdf = new SimpleDateFormat(sdf1);
    return sdf.format(new Date());
}

 datetime存储数据库则直接存储:

setCreateTime(new Date());

在取值上

varchar直接取出就是自己设置的SimpleDateFormat格式:

2020-03-28 22:25:55

datetime类型取值为:

2020-03-28T22:25:55.000需要转换为需要的格式,可以使用
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

转换为yyyy-MM-dd HH:mm:ss格式,设置时区为GMT+8,这样会在取出的值添加8个小时。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值