如何从数据库中找到今天和其他日期之间的月份差异?

时间:2013-01-23 01:19:13

标签: php mysql sql

我今天的日期存储在变量中        $ =今天日期( “Y-M-d”); 和从mysql数据库中获取日期的其他变量。       $ DATE2 =(行[ 'DATE2']);

我尝试过date_diff:

$diff=$today-$date2;

但是$今天是字符串,我找不到解决方案。我试过了      $ today = newDateTime(date(“Y-m-d”)); 并得到一个错误:类DateTime的对象无法转换为Int

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

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

我猜你想要这个:

SELECT TIMESTAMPDIFF(MONTH, CURDATE(), DB_FIELD)

例如

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

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

手册页:TIMESTAMPDIFF

答案 1 :(得分:0)

为什么不使用CURDATE()?查询应该如下所示

SELECT DATEDIFF(CURDATE(), date2)

答案 2 :(得分:0)

试试这个。

<?php
     $date1 = date(strtotime('2013-01-23'));
     $date2 = date(strtotime('2013-05-31'));
     $difference = $date2 - $date1;
     $months = floor($difference / 86400 / 30 );
     echo $months;
?>
相关问题