時間戳是資料庫常用的存放日期的形式之一,表示從 utc 時間』1970-01-01 00:00:00』開始到現在的秒數,與常規時間格式如 『2018-01-01 00:00:00』可以相互轉換,方法如下。
一、unix_timestamp 函式用法
1、unix_timestamp() 返回當前時間戳。另外,current_timestamp() 也有同樣作用。
hive> select unix_timestamp();
unix_timestamp(void) is deprecated. use current_timestamp instead.
ok1530241405
time taken: 0.237 seconds, fetched: 1 row(s)12
3452、unix_timestamp(string date) 返回 date 對應的時間戳,date 格式必須為 yyyy-mm-dd hh:mm:ss。
hive> select unix_timestamp('2018-06-29 00:00:00');
ok1530201600
time taken: 0.232 seconds, fetched: 1 row(s)12
343、unix_timestamp(string date, string format) 返回 date 對應的時間戳,date 格式由 format 指定。
hive> select unix_timestamp('2018/06/29 09', 'yyyy/mm/dd hh');
ok1530234000
time taken: 0.755 seconds, fetched: 1 row(s)12
34二、from_unixtime 函式用法
1、from_unixtime(int/bigint timestamp) 返回 timestamp 時間戳對應的日期,格式為 yyyy-mm-dd hh:mm:ss。
hive> select from_unixtime(1000000000);
ok2001-09-09 09:46:40
time taken: 0.316 seconds, fetched: 1 row(s)12
342、from_unixtime(int/bigint timestamp, string format) 返回 timestamp 時間戳對應的日期,格式由 format 指定。
hive> select from_unixtime(1000000000, 'yyyy/mm/dd hh');
ok2001/09/09 09
time taken: 0.24 seconds, fetched: 1 row(s)12
34三、「毫秒」時間戳的特殊處理
有時候,存放的時間戳不是秒數,而是毫秒數,因此轉換前需要除以1000。
同理,時間轉成時間戳時,也需要乘以 1000。
select
timestamps,
from_unixtime(cast(timestamps/1000 as int))
from
test_table
where
timestamps > unix_timestamp('2018-06-25 09:00:00') * 1000
and timestamps < unix_timestamp('2018-06-25 09:10:00') * 100012
3456
78結果為:
如何辨別時間戳是秒數還是毫秒數
2001-09-09 09:46:40 ~ 2286-11-21 01:46:40 之間的時間戳,都是10位數。
Hive 中 時間戳,字串轉換
select from unixtime cast 1597651229344 1000 asint yyyy mm dd hh mm ss 使用函式 str to date str,format 使用示例 select from h hotelcontext where now between s...
python時間字串與時間戳的轉換
import datetime import time print datetime.datetime.now year 返回當前時間年 print datetime.datetime.now month 返回當前時間月 print datetime.datetime.now day 返回當前時間日...
python中時間字串與時間戳的相互轉換
時間字串轉換為時間戳 python 純文字檢視 複製 12 3 4 5 6 7 8 時間字串轉換為時間戳 a 2013 10 10 23 40 00 將其轉換為時間陣列 importtime timearray time.strptime a,y m d h m s 轉換為時間戳 timestamp...