导航

postgresql 13位时间戳

Posted on 2020-06-18 20:41  yiyishuitian  阅读(2344)  评论(0编辑  收藏  举报

SELECT CURRENT_TIMESTAMP 当前时间带区
, EXTRACT(EPOCH FROM CURRENT_TIMESTAMP ) 当前时间戳
, CAST(EXTRACT(epoch FROM CAST( '2020-11-11 00:00:00' AS TIMESTAMP))*1000 AS int8) 十三位时间戳
, CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP )* 1000 AS int8) 十三位时间戳
,to_char(to_timestamp(CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP )* 1000 AS int8) / 1000) AT TIME ZONE 'PRC', 'yyyy-mm-dd hh24:mi:ss') 时间戳转日期

 


epoch 表示距新世纪 1970-01-01 00:00:00 的秒数.

 SQL SERVER 

 

--普通时间  转  13 位时间戳
 SELECT CONVERT(BIGINT,DATEDIFF(MI,'1970-01-01 00:00:00.000', GETUTCDATE())) * 60000 + DATEPART(S,GETUTCDATE()) * 1000 + DATEPART(MS, GETUTCDATE())
  
 --13位时间戳 转 普通时间
 SELECT DATEADD (MS ,CONVERT(BIGINT,1582687127323) % 60000 ,DATEADD(MI,CONVERT(BIGINT,1582687127323) / 60000,'1970-01-01 08:00:00.000'))
   
  
   
  --普通时间 转 10位时间戳
 SELECT DATEDIFF(S,'1970-01-01 00:00:00', GETDATE()) 
 --10位时间戳 转 普通时间
 SELECT DATEADD(S,1557493321,'1970-01-01 00:00:00')