1. 程式人生 > >PostgreSQL - 怎麼將時間轉換成秒

PostgreSQL - 怎麼將時間轉換成秒

保留原來的毫秒值

select extract(epoch from '03:21:06.678'::time);

這個extract(epoch from )函式得到的是時間是秒單位,如果需要毫秒值就直接乘以1000:

select extract(epoch from now())*1000;

去掉原來的毫秒值

向下取整函式floor()

select floor(extract(epoch from '03:21:06.678'::time));

向上取整函式ceil()ceiling(),這兩個一樣的

select ceil(extract(epoch from
'03:21:06.678'::time)); select ceiling(extract(epoch from '03:21:06.678'::time));

四捨五入函式round()

select round(extract(epoch from '03:21:06.678'::time));

將兩個日期間的時間轉換為秒值

select extract(epoch from(('2018-12-18 00:00:10'::timestamp - '2018-12-18 00:00:00')));
select extract(epoch from(('2018-12-18 00:00:10' - '2018-12-18 00:00:00'
::timestamp))); select extract(epoch from(('2018-12-18 00:00:10' - timestamp'2018-12-18 00:00:00'))); select extract(epoch from((timestamp'2018-12-18 00:00:10' - '2018-12-18 00:00:00')));

上邊四種寫法都可以。

epoch新紀元時間

新紀元時間 Epoch 是以1970-01-01 00:00:00 UTC為標準的時間,將目標時間與1970-01-01 00:00:00時間的差值以秒來計算 ,單位是秒,可以是負值; 有些應用會將時間儲存成epoch 時間形式,以提高讀取效率。

參考連結