0

我将今天的日期存储在变量 $today=date("Ymd"); 和其他变量,它是从 mysql 数据库中获取的日期。$date2=(行['date2']);

我尝试过使用 date_diff:

$diff=$today-$date2;

但是 $today 是字符串,我找不到解决方案。我试过 $today=newDateTime (date("Ymd")); 并得到一个错误: 类 DateTime 的对象无法转换为 Int

应该提到,在我得到一个月后,我需要将它们存储在一个变量中并与其他变量相乘。

有什么建议么 ?

4

3 回答 3

1

我猜你想要这个:

SELECT TIMESTAMPDIFF(MONTH, CURDATE(), DB_FIELD)

例子

SELECT TIMESTAMPDIFF(MONTH, CURDATE(), '2012-01-01')

返回-12,因为该日期是 12 个月前

手册页:TIMESTAMPDIFF

于 2013-01-23T01:33:25.080 回答
0

尝试这个。

<?php
     $date1 = date(strtotime('2013-01-23'));
     $date2 = date(strtotime('2013-05-31'));
     $difference = $date2 - $date1;
     $months = floor($difference / 86400 / 30 );
     echo $months;
?>
于 2013-01-23T06:19:19.310 回答
0

为什么不使用CURDATE()?查询应该是这样的

SELECT DATEDIFF(CURDATE(), date2)
于 2013-01-23T01:25:06.827 回答