将时间戳转换为日期格式:

-- 如果时间戳为毫秒级长度为13位,需要先除以1000
SELECT id, `task_name` ,
FROM_UNIXTIME(`task_register_begin_time`/1000,'%Y-%m-%d %H:%i:%s') as task_register_begin_time,
FROM_UNIXTIME(`task_register_end_time`/1000,'%Y-%m-%d %H:%i:%s') as task_register_end_time ,
FROM_UNIXTIME(`task_grant_begin_time`/1000,'%Y-%m-%d %H:%i:%s') as task_grant_begin_time,
FROM_UNIXTIME(`task_grant_end_time`/1000,'%Y-%m-%d %H:%i:%s') as task_grant_end_time
FROM `workstation_task_base` a
WHERE
`is_recurring`= 1
ORDER BY `id` DESC ;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

 

时间格式:

MySQL时间戳转成日期格式_时间格式

转换前:

MySQL时间戳转成日期格式_时间戳_02

 

 转换后:

MySQL时间戳转成日期格式_时间格式_03

 

 

 

DATE_ADD()

MySQL的DATE_ADD() 函数向日期添加指定的时间间隔。

语法:  

DATE_ADD(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
  • 1.
  • 2.
  • 3.

MySQL时间戳转成日期格式_时间戳_04

MySQL时间戳转成日期格式_时间间隔_05

与时区相关的转换时间:
  • 1.
1 select date_add(DATE_FORMAT(CONVERT(p.create_time,SIGNED),'%Y-%m-%d %H:%i:%S'),interval EXTRACT(HOUR FROM TIMEDIFF(NOW() ,UTC_TIMESTAMP())) hour) createTime from gmp_payment_deal p
  • 1.

解释:

select UTC_TIMESTAMP() 获取世界标准是时间

select EXTRACT(HOUR FROM TIMEDIFF(NOW() ,UTC_TIMESTAMP()))  数据库时间与标准时间 相差的时间

DATE_FORMAT()函数:

MySQL时间戳转成日期格式_时间格式_06

MySQL时间戳转成日期格式_时间格式

 convert_tz(dt,from_tz,to_tz)

 转换datetime值dt从from_tz由给定转到to_tz时区给定的时区,并返回结果值,如果参数无效则该函数返回null

1 convert_tz(create_time,'+00:00', '+08:00')//从0时区转到8时区
  • 1.