mysql の場合: UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
パラメータなしで呼び出された場合、Unix タイムスタンプ (「1970-01-01 00:00:00」GMT からの秒数) が符号なし整数として返されます。 UNIX_TIMESTAMP() が日付を指定して呼び出された場合、GMT '1970-01-01 00:00:00' からの秒数としてパラメータ値が返されます。 date には、DATE 文字列、DATETIME 文字列、TIMESTAMP、または YYMMDD または YYYMMDD 形式の現地時刻番号を指定できます。
mysql>SELECT UNIX_TIMESTAMP();
->882226357
mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
->875996580
UNIX_TIMESTAMP が TIMESTAMP 列で使用される場合、関数は暗黙的な「文字列から Unix タイムスタンプ」への変換を行わずに、内部タイムスタンプ値を直接返します。 UNIX_TIMESTAMP() にオーバーフロー日付を渡すと、0 が返されますが、基本的な範囲チェックのみが実行されることに注意してください (1970 年から 2037 年までの年、01 から 12 までの月、01 から 31 日までの日)。
ここで
を使用できます
UNIX_TIMESTAMP() タイムスタンプをフォーマットするには、FROM_UNIXTIME(unix_timestamp)、FROM_UNIXTIME(unix_timestamp,format) を使用します。これは、'YYYY-MM-DD HH:MM:SS' または YYYYMMDDHHMMSS 形式の値の unix_timestamp パラメータ表現を返します。特定の形式は、によって異なります。関数が文字列コンテキストまたは数値コンテキストで使用されるかどうか。
format が指定されている場合、結果の形式はフォーマット文字列に基づきます。 format には、DATE_FORMAT() 関数の入力リストと同じ指定子を含めることができます。
mysql>SELECT FROM_UNIXTIME(875996580);
->「1997-10-04 22:23:00」
mysql>SELECT FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
)
-> '%Y %D %M %h:%i:%s %x');
->「2003 年 8 月 6 日 06:22:58」
PHP の場合: time()
time -- 現在の Unix タイムスタンプを返します
Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) から現在時刻までの秒数を返します。
文字通り、これらは同じであり、どちらも Unix エポックから現在までの秒数を返します。
著者は同じサーバー上でテストを行ったところ、2 つのサーバーから返される結果が同じであることがわかりました。
mysql で FROM_UNIXTIME( 1156219870 ,'%y-%m-%d' ) を使用します
結果は、php で date("y-m-d",1156219870) を使用した場合と同じになります。唯一わからないのは、どちらがより早く反応するかということです。しかし、私は依然として php で time() 関数を使用することを好みます。
chaojie2009 さんのコラムより抜粋
http://www.bkjia.com/PHPjc/478382.html