PHP と MySQL を作成したことのあるプログラマは、UNIX タイムスタンプと書式設定された日付には時差があることをよく知っています。UNIX タイムスタンプは保存や処理には便利ですが、書式設定された日付は直感的ではありません。ただし、Unix タイムスタンプほど処理が簡単ではないため、相互に変換する必要がある場合があります。ここでは相互に変換する方法をいくつか示します。
1. MySQL で完結
このメソッドは、MySQL のクエリ文内で変換されるのが利点であり、欠点は、PHP パーサーの解析時間がかからないことです。データベースクエリでは制限があります。
1. UNIX タイムスタンプを日付に変換する関数: FROM_UNIXTIME()
一般形式: select FROM_UNIXTIME(1156219870);
2. 日付を UNIX タイムスタンプに変換する関数: UNIX_TIMESTAMP()
一般形式: Select UNIX_ TIMESTAMP ( '2006-11-04 12:23:00');
例: mysql はその日のレコード数をクエリします:
$sql="select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y- %m -%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
もちろん、PHP での変換を選択することもできます。 PHP。
2. PHP で完了する
この方法は、PHP プログラムで変換を完了します。利点は、データがデータベースでクエリによって取得されたかどうかに関係なく変換できることと、変換範囲が制限されていないことです。欠点は、PHP パーサーの解析時間がかかり、速度が比較的遅いことです。
1. 関数を使用して UNIX タイムスタンプを日付に変換します: date()
一般形式: date('Y-m-d H:i:s', 1156219870);
2. 関数を使用して日付を UNIX タイムスタンプに変換します: strtotime( )
一般形式: strtotime('2010-03-24 08:15:42');