java时间与数据库时间_Java 与 数据库 的时间相关问题

一、Java 中 “java.util.Date” “java.sql.Date”的区别

c432364044b8

image.png

首先可以看出java.util.Date是java.sql.Date的父类

java.sql.Date: 一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。

为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将小时、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。

参考:

java.sql.Date和java.util.Date区别及使用

二、关于时间精度的问题

java.util.Date 类代表某一特定的时间,精确到毫秒

System.currentTimeMillis() 返回long类型的时间戳,精确到毫秒

三、常用的时间处理函数以及说明

3.1 格式化时间

//精确到毫秒 output: 2020-03-21 21:07:41 468

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

System.out.println(sdf.format(new Date()));

System.out.println(sdf.format(System.currentTimeMillis()));

3.2 获取当前时间的时间戳

//System.currentTimeMillis()

System.out.println(System.currentTimeMillis());

//date.getTime()

java.util.Date date = new java.util.Date();

System.out.println(date.getTime());

四、不同格式日期之间的转换

五、MySQL中的数据类型

Mysql 与 java 的时间类型

MySql的时间类型有 Java中与之对应的时间类型

数据库时间类型

Java对应类

date

java.sql.Date

Datetime

java.sql.Timestamp

Timestamp

java.sql.Timestamp

Time

java.sql.Time

Year

java.sql.Date

转换相互转换:

Date date = new Date();//获得系统时间.

String nowTime = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(date); //想转化为什么格式看你心情

Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换

java.util.Date 是java.sql.Date的父类

六、Java与数据库数据的转换

java

数据库类型

数据库写入框架

问题

java.util.Date

timestamp

mybatis

java.util.Date

datetime

mybatis

java.sql.Timestamp

timestamp

mybatis

java.sql.Timestamp

datetime

mybatis

七、项目中的小实战(不断补充)

7.1 需要保留毫秒级的时间

第一种情况

1)Java类数据类型是Java.sql.Timestamp

c432364044b8

image.png

2)查询得到的结果

c432364044b8

image.png

3)数据库

c432364044b8

image.png

【注意】数据库中看到的是格式化后的(是不是这样还需要验证,可能是navicat的显示问题

第二种情况

1)Java类数据类型是Java.sql.Date

c432364044b8

image.png

2)查询得到的结果

c432364044b8

image.png

3)数据库类型是timestamp

c432364044b8

image.png

第三种情况】

1)Java类数据类型是Java.util.Date

c432364044b8

image.png

UTC: 协调世界时,又称世界统一时间、世界标准时间、国际协调时间

2)查询得到的结果

c432364044b8

image.png

3)数据库类型是timestamp

c432364044b8

image.png

【推荐] Java类(java.util.Date) 数据库(timestamp)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值