Php 如何从数据库中查找今天和其他日期之间的月差?
我将今天的日期存储在变量中 $today=日期(“Y-m-d”); 另一个变量是从mysql数据库中获取的日期。 $date2=(第['date2'行]) 我尝试过date_diff:Php 如何从数据库中查找今天和其他日期之间的月差?,php,mysql,sql,Php,Mysql,Sql,我将今天的日期存储在变量中 $today=日期(“Y-m-d”); 另一个变量是从mysql数据库中获取的日期。 $date2=(第['date2'行]) 我尝试过date_diff: $diff=$today-$date2; 但是今天的美元是字符串,我找不到解决方案。我已经试过了 $today=新日期时间(日期(“Y-m-d”); 并获取一个错误:类DateTime的对象无法转换为Int 应该提到的是,在我得到月份后,我需要将它们存储在一个变量中,并与其他变量相乘 有什么建议吗?为什么不使用
$diff=$today-$date2;
但是今天的美元是字符串,我找不到解决方案。我已经试过了
$today=新日期时间(日期(“Y-m-d”);
并获取一个错误:类DateTime的对象无法转换为Int
应该提到的是,在我得到月份后,我需要将它们存储在一个变量中,并与其他变量相乘
有什么建议吗?为什么不使用CURDATE()
?查询应该如下所示
SELECT DATEDIFF(CURDATE(), date2)
SELECT TIMESTAMPDIFF(MONTH, CURDATE(), DB_FIELD)
范例
SELECT TIMESTAMPDIFF(MONTH, CURDATE(), '2012-01-01')
返回-12,因为该日期是12个月前
手册页:试试这个
<?php
$date1 = date(strtotime('2013-01-23'));
$date2 = date(strtotime('2013-05-31'));
$difference = $date2 - $date1;
$months = floor($difference / 86400 / 30 );
echo $months;
?>
“月差”你能举个例子吗?我可以根据你之后的价值想出几种方法。这里描述了另一种方法,这是我的第一个想法,但“月差”是另一个故事,因为它将返回daysme格林:“但我怀疑OP还有其他想法:-)谢谢你,JW。CURDATE()是完美的解决方案。谢谢。谢谢你,达贡,你让我开心:)