select from_unixtime(floor(1510156036741/1000), '%Y %D %M %h:%i:%s');
'2017 11月8日 07:47:16'
上面的代码输出一个不包含毫秒精度的时间戳。如何将 unix 纪元时间转换为包含毫秒的日期时间(3( 对象?
有可能获得微秒,例如:
select from_unixtime(1510156036741/1000, '%Y %D %M %h:%i:%s %f');
'2017 8th 十一月 07:47:16 741000'
是否可以将微秒结果转换为毫秒?
它有点笨拙,但您可以提取微秒并将其除以 1000 以将其转换为毫秒。在这里,我还将其转换为 int 并将其与格式化的日期连接以创建最终日期字符串:
SELECT CONCAT(
from_unixtime(1510156036741/1000, '%Y %D %M %h:%i:%s '),
CAST(EXTRACT(MICROSECOND FROM from_unixtime(1510156036741/1000))/1000
AS SIGNED)
);
"2017 8th 十一月 03:47:16 741">