时间类型转换

 ̄綄美尐妖づ 提交于 2019-11-26 02:31:41

一、Date类型

  • 将Date转为字符串
String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
  • 将字符串转为Date
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
Date date = df.parse("2018-08-08 20:08:08");
  • 将Date转为时间戳
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
Date date = df.parse("2018-08-08 20:08:08");
long time = date.getTime();

如果遇到比较时间大小的,都使用时间戳的形式比较大小。

二、LocalDateTime类型

  • 将LocalDateTime转为时间戳
Long milliSecond = endTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
  • 将时间戳转为LocalDateTime类型
LocalDateTime dateTime = 
new Date(时时间戳).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();

三、MySQL中时间转换

  • 将字符出转化为时间类型
select FROM_UNIXTIME('%H:%i:%S','22:23:00')
  • 将时间转为
SELECT UNIX_TIMESTAMP(NOW());
SELECT UNIX_TIMESTAMP('2019-11-25 11:38:55');
  • 将秒转为时间类型
SELECT FROM_UNIXTIME(1560149257,'%Y-%m-%d %H:%i:%s');

如果遇到十分秒比较的情况几下,转换为秒是不太好转,select TIME_TO_SEC(‘22:00:00’);这个方法转过来的似乎不太正确。如果数据库存的时分秒为varchar类型的,可以使用FROM_UNIXTIME函数转为时间类型再做比较。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!