phpを使用して、1か月あたりの日数(例:-1月31日、2月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
人間のやり方でやってください。月を減算し、日が今日より前の場合は1を加算します。
$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 に答える