mysql时间格式和Java时间格式对应

在 MySQL 中有两种存储时间的数据类型 DATETIME 和 TIMESTAMP ,它们在数据库实际应用中,各有各的优势和劣势。本文将详细详解两个数据类型的区别,以及用实战案例说明它们的使用场景。

一. DATETIME 和 TIMESTAMP 的相同点
两个数据类型存储时间的格式一致。均为 YYYY-MM-DD HH:MM:SS
两个数据类型都包含「日期」和「时间」部分。
两个数据类型都可以存储微秒的小数秒(秒后6位小数秒)
二. DATETIME 和 TIMESTAMP 的区别
1.表示范围
DATETIME:1000-01-01 00:00:00.000000 到 9999-12-31 23:59:59.999999
TIMESTAMP:‘1970-01-01 00:00:01.000000’ UTC 到 ‘2038-01-09 03:14:07.999999’ UTC
2.空间占用
TIMESTAMP :占 4 个字节(小数秒+3 个字节)
DATETIME:在 MySQL 5.6.4 之前,占 8 个字节 ,之后版本,占 5 个字节。(小数秒+3 个字节)
3. 存入时间是否会自动转换?
TIMESTAMP:TIMESTAMP 的值是从「当前时间」转换成 UTC 时间,或者反过来转换。
DATETIME:不会做任何转换,也不会检测时区,你给什么数据,它存什么数据。
4.使用 now() 存储当前时间时,保存的实际值,是否与当前计算机时间一致?
TIMESTAMP:可能不一致。存储值会被转换成 UTC 时间值再存入数据库。
DATETIME:与当前时间是一致的。
5.如果存入的是 NULL 时,两个类型如何存储?
TIMESTAMP:会自动存储当前时间( now() )。
DATETIME:不会自动存储当前时间,会直接存入 NULL 值。

sql

CREATE TABLE `task_lock` (`id` bigint NOT NULL AUTO_INCREMENT,`task_name` varchar(255) NOT NULL,`lock_state` varchar(255) NOT NULL,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb3;

mybatis

    <insert id="save" parameterType="com.example.test1.model.TaskLock">insert into task_lock(task_name,lock_state,update_time) values(#{taskName},#{lockState},#{updateTime})</insert>

java


@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TaskLock {private Integer id;private String taskName;private String lockState;private Date updateTime;
}@AutowiredTaskLockMapper taskLockMapper;@Testpublic void InsetTest() {System.out.println(taskLockMapper);SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String currentSimpleDateFormat = simpleDateFormat.format(new Date());TaskLock taskLock = TaskLock.builder().lockState("locked").taskName("123").updateTime(new Date()).build();int result = taskLockMapper.save(taskLock);System.out.println("result:"+result);}

mysql时间格式和Java时间格式对应相关推荐

  1. java 时间戳转化datetime_c# DateTime时间格式和JAVA时间戳格式相互转换

    ///java时间戳格式时间戳转为C#格式时间 public static DateTime GetTime(longtimeStamp) { DateTime dtStart= TimeZone.C ...

  2. oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别

    oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别 1.java 1)分钟用mm表示 24小时制: java(区分大小写):yyyy-MM-dd HH:mm: ...

  3. java日期格式拼接,java转换时间格式

    Java中怎么把字符串转换成日期格式啊 就像"2005-06-09"怎么才能让它输出2005年6月9日呢,我用SimpleDateForma希望将日期输出成2005年6月9日,我们 ...

  4. java毫秒 mysql秒_MySQL和Java时间毫秒之间的转换问题的总结

    在做关于依时间查询用户认证的业务,因为在MySQL中,time字段使用的是bigint类型,所以存在其中都是毫秒数.当需要从数据库中取出 最近几天在做关于依时间查询用户认证的业务,因为在MySQL中, ...

  5. java定义时间格式大全_Java时间格式转换大全

    package com.date; import java.text.DateFormat; import java.text.ParseException; import java.text.Par ...

  6. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  7. mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...

  8. Java 程序读取Mysql数据库时间信息与真实时间相差 13、14 小时、SQLException: HOUR_OF_DAY: 2 -> 3

    CST时区引起的异常: Java 程序读取Mysql数据库时间信息,与真实时间相差 13.14 小时 java.sql.SQLException: HOUR_OF_DAY: 2 -> 3 原因: ...

  9. inner join ,left join ,right join 以及java时间转换

    1.inner join ,left join 与 right join (from 百度知道) 例表a aid adate 1    a1 2    a2 3    a3 表b bid  bdate ...

最新文章

  1. oracle ORA-01113的解决方法(file 1 needs media recovery)
  2. 万词霸屏的本质是什么?
  3. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
  4. 工具条内控件背景色设置
  5. 回退n帧协议c语言代码,[计算机网络]Ch.3 数据链路层
  6. ubuntu系统下如何修改host
  7. 奥鹏东师计算机应用基础18,免费在线作业答案奥鹏东师计算机应用基础15秋在线作业1试卷及答案(1)...
  8. 浏览器测试基本跑分网站
  9. Rabbtmq 消费端-幂等性保障
  10. 6、raid、lvm、while、until 学习笔记
  11. SmartSVN 14 for Mac(多平台SVN客户端)
  12. 文本对比工具google-diff-match-patch
  13. win7计算机开机启动项设置,如何设置WIN7开机启动项?
  14. DB---数据模型的三要素
  15. R语言自动提取新闻摘要的简单实现
  16. Mac中搜狗输入法在各应用中默认中英文状态
  17. Dremel made simple with Parquet(CN)
  18. ffmpeg examples -- demuxing_decoding
  19. 触发字检测 trigger word detection
  20. Obsolete和Conditional属性

热门文章

  1. Dubbo原理和使用
  2. 高德地图如何使用自定义底图
  3. 新书推荐《财务数据治理实战》
  4. 预警短信python_zabbix 利用python脚本实现短信告警
  5. 炫酷的可视化工具:processing 初识
  6. 给冰箱装块触摸屏,怎么样
  7. 易基因:植物DNA甲基化专题 |玉米:从群体水平揭示DNA甲基化变异对表型的贡献
  8. 上确界距离公式的推导
  9. java练习--群主发红包
  10. 决策树分析例题经典案例_决策树例题分析及解答