mysql和java中的时间

109 阅读1分钟

不常用,只有项目用到才能记住,过了只有就又忘了,有必要记录一下。

格式

mysql中的时间格式跟java不一样,容易搞混。

  • java用的叠词,mysql用的%
  • java用的 SimpleDateFormat
  • mysql用的 date_format
时间javamysql
yyyy%Y(4位) 或 %y(2位)
MM%m(%M是月名)
dd%d
HH或hh%H或%h
mm%i
ss%s同%S

在java里,M表示月,m表示分,记住“大美眉小弟弟” 保你永生不忘。

SimpleDateFormat

这个方法创建时传入时间格式参数

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

然后就是两个方法,parseformat

  • 解析成日期
  • 格式化成字符串

Calendar

java中的时间方法,用来代替Date,可以导入更少的包,获得更多的时间信息。但是说实话还是不怎么行,可能国内外的日期使用习惯不一样吧。

Calendar ca = Calendar.getInstance();

不设置时间,默认当前时间,使用就像是翻日历一样。如果需要设置时间

  • 一个个设置
ca.set(Calendar.YEAR, 2022); // 设置年份
ca.set(Calendar.MONTH, 8);  // 设置月份
ca.set(Calendar.DAY, 20);   // 设置日期
  • 觉得太麻烦,就直接设置
ca.setTime(Date date);

这里的参数是 Date 格式,如果用的字符串,就需要 SimpleDateFormat 先转成 Date。

  • 增减 调用 add 方法
ca.add(Calendar.DATE, 5);
  • 时间差 先转时间戳,再计算转成对应时间间隔单位。或者使用jdk8的LocalDateTime,使用 Duration 工具。

hutool

第三包,封装了很多方法。

apidoc.gitee.com/dromara/hut…