私は今日私が入力する日付と日付の間の日数を出力しようとしています。エラーが発生しました: "警告:date_diff()はパラメータ2がDateTimeInterfaceになることを期待しています" ?PHP date_sub。今日と日付を差し引くことはできません
<?php
$today=date("y-m-d");
$date=date_create("2016-09-16");
echo date_diff($date,$today);
?>
私は今日私が入力する日付と日付の間の日数を出力しようとしています。エラーが発生しました: "警告:date_diff()はパラメータ2がDateTimeInterfaceになることを期待しています" ?PHP date_sub。今日と日付を差し引くことはできません
<?php
$today=date("y-m-d");
$date=date_create("2016-09-16");
echo date_diff($date,$today);
?>
あなたの問題はdate_diff
を使用しているとき、あなたは実際の日付オブジェクトであるオブジェクトを比較していることを確認するために持っていることです。 date_diff
の戻り値の型もDateIntervalオブジェクトです。あなたは文字列として扱っています。
$today = new DateTime(); // $today is a DateTime object
$date = new DateTime("2016-09-16"); // $date is also a DateTime object!
$diff = date_diff($date,$today); // compare two objects of the same type FTW!
echo $diff->days; // $diff is a DateInterval object, so echo it's 'days' property.
// output: 3 (as of this writing)
さらに読書:
http://php.net/manual/en/class.dateinterval.php
http://php.net/manual/en/class.datetime.php
http://php.net/manual/en/function.date-diff.php
ありがとうございました。それは私が欲しいものです。 – nika
RTFM:http://php.net/dateそれは** STRING **、ないdatetimeオブジェクトを返します。 –
@MarcBそうなのですが、今日strtotime()関数に$を挿入する必要がありますか? – nika
rtfm:http://php.net/strtotime datetimeオブジェクトではなく、INTEGERを返します。あなたは本当にドキュメントを読むべきです。 –