当先锋百科网

首页 1 2 3 4 5 6 7

MySQL中存储的时间数据类型包括DATE、TIME、DATETIME、TIMESTAMP等,其中TIMESTAMP类型存储的是从1970年1月1日00:00:00到当前时间的秒数,称为UNIX时间戳。

UNIX时间戳 ->年月日
FROM_UNIXTIME(unix_timestamp, format)
UNIX时间戳 ->年月日 时分秒
FROM_UNIXTIME(unix_timestamp)
年月日 ->UNIX时间戳
UNIX_TIMESTAMP(date)
年月日 时分秒 ->UNIX时间戳
UNIX_TIMESTAMP(datetime)

以上是一些常用的UNIX时间戳与时间格式之间的转换方法,在进行时间转换的时候需要注意format参数的格式,如"%Y-%m-%d %H:%i:%s"表示年-月-日 时:分:秒。

此外,当使用UNIX时间戳存储时间数据时,需要考虑时区的问题,可以使用CONVERT_TZ()函数进行时区转换。

UNIX时间戳 ->时区转换后的UNIX时间戳
CONVERT_TZ(FROM_UNIXTIME(unix_timestamp), old_time_zone, new_time_zone) 
年月日 时分秒 ->时区转换后的UNIX时间戳
UNIX_TIMESTAMP(CONVERT_TZ(datetime, old_time_zone, new_time_zone))
时区转换后的UNIX时间戳 ->年月日 时分秒
FROM_UNIXTIME(UNIX_TIMESTAMP(CONVERT_TZ(FROM_UNIXTIME(unix_timestamp), old_time_zone, new_time_zone)), format)

在进行时间转换时,除了使用MySQL内置函数外,也可以使用编程语言对UNIX时间戳进行操作,如在PHP中,可以使用date()和strtotime()函数进行转换。

UNIX时间戳 ->年月日 时分秒
date("Y-m-d H:i:s", unix_timestamp) 
年月日 时分秒 ->UNIX时间戳
strtotime(datetime)