1. 程式人生 > >mysql時間戳 時間轉換問題 from_unixtime() UNIX_TIMESTAMP()

mysql時間戳 時間轉換問題 from_unixtime() UNIX_TIMESTAMP()

 
from_unixtime()是MySQL裡的時間函式
date為需要處理的引數(該引數是Unix 時間戳),可以是欄位名,也可以直接是Unix 時間戳字串
後面的 '%Y%m%d' 主要是將返回值格式化
例如:

mysql>SELECT FROM_UNIXTIME( 1534751626, '%Y%m%d' )  
->20180820
mysql>SELECT FROM_UNIXTIME( 1534751626, '%Y年%m月%d' )
->2018年08月20
mysql>SELECT FROM_UNIXTIME( 1534751626)
->2018-08-20 07:53:46


UNIX_TIMESTAMP() 是與之相對正好相反的時間函式
 
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
 
若無引數呼叫,則返回一個 Unix timestamp ('1970-01-01 00:00:00' GMT 之後的秒數) 作為無符號整數。若用date 來呼叫 UNIX_TIMESTAMP(),它會將引數值以'1970-01-01 00:00:00' GMT後的秒數的形式返回。date 可以是一個 DATE 字串、一個 DATETIME字串、一個 TIMESTAMP或一個當地時間的YYMMDD 或YYYMMDD格式的數字。
 
例如:
 

mysql> SELECT UNIX_TIMESTAMP(now()) ; 
等價於
mysql> SELECT UNIX_TIMESTAMP() ;
->1534750690(執行使得時間:2018-08-20 07:38:10)
mysql> SELECT UNIX_TIMESTAMP('2018-08-20') ;
->1534723200
SELECT *
FROM `student`
WHERE regTime > UNIX_TIMESTAMP( curdate( ) ) //今天所有學生註冊記錄。