MySql数据库怎样把Long时间与日期相互转换
的有关信息介绍如下:今天遇到一个有关时间格式的问题,描述如下: 要将Long型的数据(时间戳)插入到数据库表中字段类型为Timestamp的字段中,出现无法转换的错误。
方法/步骤
1
查找原因发现Long型的数据并不能直接插入成日期类型,即使是Timestamp类型的字段。如果使用会出现如下报错——
2
可以采用Mysql中的函数解决:FROM_UNIXTIME(),这是时间戳转化为日期的函数。sql语句测试:(SELECT FROM_UNIXTIME(1499409740)),当然函数中也可以添加参数,例如:'%Y %D %M %h:%i:%s %x'。
3
使用UNIX_TIMESTAMP(),这是日期格式转化为时间戳的函数。sql语句测试:SELECT UNIX_TIMESTAMP('2017-07-07 15:58:25')
4
在使用了函数之后,问题成功解决。但是又产生了新的问题,将正确的时间戳保存到数据库之后,却发现时间显示不正确,比正确时间少了整整8个小时。
5
原来是数据库时区配置问题,数据库所配置的时区可能还是UTC(英国)的时区,北京时区需要加上8小时,因此显示不正确。
END