gpt4 book ai didi

php - MYSQL 中的 TIMESTAMPDIFF 计算两个日期之间的月数

转载 作者:行者123 更新时间:2023-11-29 03:08:45 28 4
gpt4 key购买 nike

我的服务器使用旧版本的 PHP,所以很遗憾我不能使用 $datetime1->diff($datetime2) 方法。

我目前正在使用以下代码,但它并没有真正起作用:

$from = explode("-",date("Y-m-d",$recurring_invoices->start_date));
$to = explode("-",date("Y-m-d",$to_time));
$months = ($to[0]-$from[0])*12+$to[1]-$from[1];

它将7月30日到6月1日计算为一个整月。它应该只计算从 7 月 1 日到 6 月 1 日的日期作为整月。

我注意到有一个 MYSQL TIMESTAMPDIFF 函数,但我似乎也无法让它工作。

$query = "SELECT TIMESTAMPDIFF(MONTH,'$recurring_invoices->start_date','$from_time')";
print_r($this->queryResult($query));

$query = "SELECT TIMESTAMPDIFF(MONTH, from_date, to_date) FROM agenda";
print_r($this->queryResult($query));

非常感谢您的帮助!

最佳答案

我认为这应该可行, 但尚未经过测试 tested并固定:

list($startYear, $startMonth, $startDay) = explode('-', date('Y-n-j', $recurring_invoices->start_date));
list($endYear, $endMonth, $endDay) = explode('-', date('Y-n-j', $to_time));

$months = 0;
$months += ($endYear-$startYear) * 12;
$months += $endMonth - $startMonth;
if ($startDay > $endDay) {
$months -= 1;
}

echo $months;

关于php - MYSQL 中的 TIMESTAMPDIFF 计算两个日期之间的月数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441787/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com