0

数字のような文字列で2つの日付を比較できますか?または、それらをintに再入力する必要がありますか?

このコードは大丈夫ですか?

<?php
$date1 = "20130102";
$date2 = "20151012";

if ($date1 < $date2){
    echo "date1 < date2";
} elseif ($date1 > $date2){
    echo "date1 > date2";
} else {
    echo "date1 = date2";
}
?>
4

1 に答える 1

3

あなたのコードは、次の条件の下では安全で正しいです: 日付が Ymd のようにフォーマットされている場合 (php の日付関数に従って)

これが機能する理由は、私が想像できるすべての文字セットで、文字 0 ~ 9 が数字 0 ~ 9 とまったく同じようにソートされるためです。先頭に 0 を使用すると、文字列は数字と同じように並べ替えられます。

日付のデータ型として文字列を使用することは、コードのにおいがすることに注意してください。このページを見る(no.7)

于 2013-02-02T17:14:24.797 に答える