mysqlタイムスタンプ時間変換問題from_unixtime() UNIX_TIMESTAMP()

1043 ワード

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は、1つのDATE文字列、1つのDATETIME文字列、1つのTIMESTAMPまたは1つのローカル時間のYYMMDDまたはYYYYMMDDフォーマットの数字であってもよい.例:
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( ) ) //          。