一、日期 —> 时间戳
1.获取当前时间戳
select unix_timestamp(); -- 获取当前时间戳
2.unix_timestamp 1 个参数
输入的时间戳格式必须为’yyyy-MM-dd HH:mm:ss’,如不符合则返回 NULL
-- 例如:
select unix_timestamp('2021-11-15 08:40:00') --1636936800
select unix_timestamp('2021-11-15') --NULL
3.unix_timestamp 2 个参数
在使用 unix_timestamp 的时候,不想用默认的 yyyy-MM-dd HH:mm:ss 解析格式,可以自定义解析格式。
如果格式不符合则返回 NULL
例如:
select unix_timestamp('2021-11-15','yyyy-MM-dd') --1636905600
select unix_timestamp('2021-11-15 08:40:00','yyyy-MM-dd HH:mm:ss') --1636936800
select unix_timestamp('2019-08-15','yyyy-MM-dd HH:mm:ss') --NULL
二、
1.获取当前日期
select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss'); -- 格式化
2.时间戳(秒)转日期
from_unixtime() 将时间戳秒数转化为UTC时间,并用字符串表示,可通过format规定的时间格式,指定输出的时间格式,其中unixtime 是10位的时间戳值,而13位的所谓毫秒的是不可以的。
select from_unixtime(1636905600,'yyyy-MM-dd HH:mm:ss');-- 2021-11-15 00:00:00
如果是 13 位的,先除以 1000 再转换。