我们如何使用 php.ini 计算从特定日期到当前日期时间过去了多少个月,并考虑每月的天数(例如:-January 31, Feb 28/29)。我尝试使用 diff() 函数无法解决我的问题。因为它计算过去了多少个 30 天。
问问题
1213 次
2 回答
4
一个简单的方法:
$datetime1 = new DateTime('2012-11-15');
$datetime2 = new DateTime('2012-12-15');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%m months'); // output : +1 months
您应该使用 DateInterval。它真的很强大。 http://www.php.net/manual/en/class.dateinterval.php
于 2012-11-15T06:11:54.177 回答
3
只是按照人的方式去做;如果这一天在今天之前,则减去月份并加一。
$timestamp = strtotime('January 28');
list($old_year, $old_month, $old_day) = explode('-', date('Y-m-d', $timestamp));
list($now_year, $now_month, $now_day) = explode('-', date('Y-m-d'));
$months_ago = 12 * ($now_year - $old_year) + $now_month - $old_month;
if ($old_month < $now_month && $old_day < $now_day) {
++$months_ago;
}
echo $months_ago;
于 2012-11-15T05:54:52.197 回答