1. 程式人生 > >Hive中日期與時間戳的轉換

Hive中日期與時間戳的轉換

什麼是時間戳?

時間戳是指**格林尼治時間**1970年01月01日00時00分00秒(北京時間1970年01月01日時00分00秒)起至現在的總秒數。

注意:不管你在地球上的任何地方,這一時刻的時間戳是相同的。但是!同一個時間戳在不同的時區會表示不同的時間。比如在叢集上通過hive函式轉換的是北京時間,但是在本地python轉換就成了美國的時間。可能是根據配置不同?(猜),但是在資料處理過程中一定要看清楚。(2017.11.21新增)

時間戳=>指定格式的日期

# timestamp是時間戳
# 如果timestamp原先是毫秒,則我們/1000後,會自動轉換成double型別,但是主要from_unixtime要求第一個引數需要為bigint型別,所以我們需要用cast進行型別轉換。
# 語法from_unixtime(bigint unixtime[, stringformat]) select from_unixtime(timestamp, 'yyyy-MM-dd HH:mm:ss') from test_table

指定格式日期=>時間戳

# 如果不寫第二個引數,預設格式是 yyyy-MM-dd HH:mm:ss
select unix_timestamp('20170101 13:20:30', 'yyyyMMdd HH:mm:ss') from test_table

時間=>日期

# 只能接受這種形式
select to_date('2017-01-01 13:20:30'
) from test_table

日期=>年/月/日/時/分/秒

# year(), month(), day(), hour(), minute(), second()
# week() 返回日期所在的星期數
select year('2017-01-01 13:20:30') from test_table

日期比較

# 返回結束日期減去開始日期的天數
# 語法:datediff(string enddate, string startdate)
select datediff('2017-01-31', '2017-01-1') from test_table

日期加減

# 語法:date_add(string startdate, int days)
select
date_add('2017-01-01', 10) from test_table select date_sub('2017-01-01', 10) from test_table

相關推薦

hive日期時間轉換

從1970-01-01 00:00:00 UTC到指定時間的秒數。 總結:時間戳到日期時間,日期時間到時間戳,日期時間到日期。 獲取時間戳:select distinct unix_timestamp() from test_date; 時間戳>>>>

Hive日期時間轉換

什麼是時間戳? 時間戳是指**格林尼治時間**1970年01月01日00時00分00秒(北京時間1970年01月01日時00分00秒)起至現在的總秒數。 注意:不管你在地球上的任何地方,這一時刻的時

日期時間轉換 && Date物件轉換方法

1時間戳轉成日期 let time = 1540956458000 var date = new Date(time);//時間戳為10位需*1000,時間戳為13位的話不需乘1000 1.1 定義和用法:toLocaleString() 方法可根據本地時間把

Python日常-格式化日期時間轉換

#!/usr/bin/env python # -*- coding: utf-8 -*- import time if __name__ == '__main__': # 獲取當前時間戳

時間日期時間轉換(Linux C)

一、時間與日期 GMT和UTC GMT,即格林尼治標準時間,也就是世界時。GMT的正午是指當太陽橫穿格林尼治子午線(本初子午線)時的時間。但由於地球自轉不均勻不規則,導致GMT不精確,現在已經不再作為世界標準時間使用。 UTC,即協調世界時。U

Oracle日期時間timestamp的轉換

轉換 select cast(to_date('2016/8/19','yyyy-mm-dd,hh24:mi:ss') as timestamp) date_to_timestamp from d

c時間日期時間轉換

這段時間老需要對時間進行轉換,也就是將時間戳轉換成特定的格式,或者特定的格式轉換成時間戳。 首先想到的當然是用系統的方法了,但是寫完後,發現第一次載入頁面的時候特別的卡,一步一步鎖定,最後發現,是ios本身函式 [NSDate dateWithTimeIntervalSin

Android日期時間之間的轉換工具類

以下是我目前用到過的,後期如果遇到其他需求也會補上的,各位朋友遇到了什麼轉換也可以提示。 package com.example.zyt.myutilslist.utils; import android.util.Log; import java.text.ParseException;

golang日期字串時間轉換

坑爹啊 網上搜的到都是坑爹程式碼 只好自己搞 //獲取本地location toBeCharge := "2015-01-01 00:00:00" //待轉化為時間戳的字串 注意 這裡的小時和分鐘還要秒必須寫 因為

Thinkphp5 日期時間相互轉換

日期轉換為時間戳 $date="2013-10-01 12:23:14"; dump(strtotime($date)); //=>1380601394 時間戳 轉換為日期 {$da

python 日期時間轉換

一,日期轉換成為時間戳 1,首先需要引入模組,time ,datetime import time ,datetime 2,把輸入的字元轉換成為陣列 # Python time strptime() 函式根據指定的格式把一個時間字串解析為時間元組。 # time.s

Python3 日期時間相互轉換

開發中經常會對時間格式處理,對於時間資料,比如2019-02-28 10:23:29,有時需要日期與時間戳進行相互轉換,在Pyth

C# DateTime時間轉換

get border nds rtti localtime color style 相互 unix時間戳 原文:C# DateTime與時間戳轉換C# DateTime與時間戳的相互轉換,包括JavaScript時間戳和Unix的時間戳。 1. 什麽是時間戳 首先要清楚

python 有關日期 以及時間轉換

nds Coding 代碼 timedelta 格式化輸出 時間 spa date del 直接上代碼 其中有註釋 #coding=utf-8 import time import datetime def yes_time(): #獲取當前時間 n

日期處理 時間轉換日期

con day 月份 nth 日期處理 返回 date() mat log 輸出今天的日期,以YYYY-MM-DD的方式: 1.原生計算處理: 1 var d = new Date(); 2 // 獲取年,getFullYear()返回4位的數字 3 var yea

php獲取某天的上週一日期時間

<?php function getPreMonday($p){     $d = strtotime($p);     $day = date("w",$d);    

python 有關datetime時間日期 以及時間轉換

#coding=utf-8 import time import datetime def yes_time(): #獲取當前時間 now_time = datetime.datetime.now() #當前時間減去一天 獲得昨天當前時間 yes_time = no

mysql 怎麼把時間轉換成正常時間

mysql將時間戳轉成常用時間格式 在mysql中,一個時間欄位的儲存型別是int(11),怎麼轉化成字元型別,比方儲存為13270655222,需要轉化為yyyy -mm-dd的形式 使用 FROM_UNIXTIME函式,具體如下: FROM_UNIXTIME(

MySQL 資料庫日期時間函式FROM_UNIXTIME(), UNIX_TIMESTAMP()

1、FROM_UNIXTIME( unix_timestamp ) 引數:通常是壹個十位的數字,如:1344887103 返回值:有兩種,可能是類似 'YYYY-MM-DD HH:MM:SS' 這樣的字串,也有可能是類似於 YYYYMMDDHHMMSS.uuuuuu

js日期格式時間格式互換

2014-04-23 18:55:49:123    日期格式 1398250549123        時間戳格式   前臺顯示日期格式,則 function tsToTime(ts) { var date