ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    PHPで日時の大小比較

    このエントリーを含むはてなブックマーク はてなブックマーク - PHPで日時の大小比較 あとで読む
    PHP5で日時の大小を比較できるか実験してみた。
    結果は、比較可能だった。
    試したPHPのコード

    <?php
    //日時を表わす文字列データ
    $date1 = '2000-01-01 01:02:03';
    $date2 = '2010-12-31 12:34:56';
    $now = date('Y-m-d H:i:s');

    //データ型の確認
    echo $date1 ."=". gettype($date1);
    echo $date2 ."=". gettype($date2);
    echo $now ."=". gettype($now);
    echo "($now < $date1) =". gettype($now < $date1);

    //比較
    if ($now < $date1) {
    echo "OK ($now < $date1)";
    } else {
    echo "NG ($now < $date1)";
    }
    if ($now < $date2) {
    echo "OK ($now < $date2)";
    } else {
    echo "NG ($now < $date2)";
    }
    ?>



    実行結果

    2000-01-01 01:02:03=string
    2010-12-31 12:34:56=string
    2009-09-24 14:00:00=string
    (2009-09-24 14:00:00 < 2000-01-01 01:02:03) =boolean
    NG (2009-09-24 14:00:00 < 2000-01-01 01:02:03)
    OK (2009-09-24 14:00:00 < 2010-12-31 12:34:56)



    ・日時を表わす文字列は、string型だった。
    ・文字列を比較した結果は、boolean型だった。

    つまり、PHPの処理系では、文字列を比較できるようになっていた。
    日付を表わす文字列をUNIXタイムスタンプに変換して、大小を比較しないといけないかな?と思ったが、変換不要。
    文字列のままでも、ASCIIコードの大小を比較すれば、そのまま日時の大小と一致している。

    (参考)
    ささら庵 - PHPのTIPS :: データ型の確認

    変数や定数のデータ型名は、gettype関数で取得できます。



    PHP: gettype - Manual

    gettype ― 変数の型を取得する



    Amazonで発売日が未来の商品(=未発売、予約受付中)は、本日の日付と比較して、はじくことができるな。
    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/415-76901b99

    FC2Ad