有很多关于date_diff
PHP函数的问题。但我的似乎有点不同,因为我得到了一个相当不寻常的结果。下面是我的代码:
$today = date( 'd-m-Y', strtotime( "now" ) );
$selectDay = date( 'd-m-Y', strtotime( $row->BOOKING_DATE ));
$interval = date_diff( $selectDay, $today );
得到的结果是:
Warning: date_diff() expects parameter 1 to be DateTime, string given in...
如您所见,$today和$selectDay都是日期。有什么建议吗?注意:我有PHP版本5.3
错误信息很清楚。date_diff()
期望DateTime()
对象,但你传递给它字符串。
$today = new DateTime();
$selectDay = new DateTime($row->BOOKING_DATE);
$interval = date_diff( $selectDay, $today );
或:
$today = new date_create();
$selectDay = new date_create($row->BOOKING_DATE);
$interval = date_diff( $selectDay, $today );
或:
$today = new DateTime();
$selectDay = new DateTime($row->BOOKING_DATE);
$interval = $today->diff( $selectDay );
date
以字符串的形式返回UNIX时间戳的文本表示。
date_diff
需要一个DateTime
对象,如下所示:
date( 'd-m-Y', strtotime( "now" ) )
等价于date('d-m-Y')
在传入date_diff()
函数参数之前使用date_create()
函数
$today = date( 'd-m-Y', strtotime( "now" ) );
$selectDay = date( 'd-m-Y', strtotime( $row->BOOKING_DATE ));
$interval = date_diff( date_create($selectDay), date_create($today) );