最近在impala中遇到一些時間格式問題,目標:取當前日期的前兩天日期。
一種做法是from_unixtime(unix_timestamp()-60*60*24*2,'yyyymmdd'),當前時間戳減去兩天的秒數,60秒*60分*24小時*2天,在更改一下格式。
還有一種做法是substr( regexp_replace(cast(date_sub(now(),2) as string),'-',''),1,8)。這個時間格式string型別的處理方法。由於now()時間為:2019-12-11 11:55:37.271951000。先使用date_sub()函式對當前日期減去2天,得出2019-12-09 11:55:37.271951000,再用cast()函式格式換成string型別,再用regexp_replace()函式將『-』替換掉,得到如下20191209 11:55:37.271951000。最後使用substr()函式取前8位,得到20191209 。bingo~得到目標格式!
雖然是乙個小問題,時間格式不匹配得不出資料來。以此記錄,以備不時之需!
時間格式轉換
一 在mysql中完成 這種方式在mysql查詢語句中轉換,優點是不占用php解析器的解析時間,速度快,缺點是只能用在資料庫查詢中,有侷限性。1.unix時間戳轉換為日期用函式 from unixtime 一般形式 select from unixtime 1156219870 2.日期轉換為uni...
時間格式轉換
dateformat函式語法 g 年代標誌符 y 年m 月 d 日h 時 在上午或下午 1 12 h 時 在一天中 0 23 m 分s 秒 s 毫秒 e 星期 d 一年中的第幾天 f 一月中第幾個星期幾 w 一年中第幾個星期 w 一月中第幾個星期 a 上午 下午 標記符 k 時 在一天中 1 24 ...
時間格式轉換
24 小時制的時間格式為 hh mm 如 05 20 而 12 小時制的時間格式為 h mm am pm 如 5 20 am 24 小時製到 12 小時制的對應關係如下 0 時 12 時 am 1 11 時 1 11 時 am 12 時 12 時 pm 13 23 時 1 11 時 pm 例如 00...