私は2つの日付間の月の違いをより具体的な方法で計算しようとしています。 2017年11月1日と結果が3ヶ月であるように私は必要なもの2018年1月31日 :PHPは2つの日付の間の満月の数を計算します
は例えば、私は2つの日付を持っています。つまり、この2つの日付の間に3つの完全な請求月があります。ここで
は、動作するようになっています方法です:
- 月1:2017年11月1日
- 2017年11月30日まで月2:2017年12月1日2017年12月31日まで
- 月3:2018年1月1日
2018年1月31日まで、私はDateTimeクラスでの差分法を試してみましたが、それはあまり役に立たない何かを作り出します。ここに例があります
<?php
$date1 = DateTime::createFromFormat('Y-m-d H:i:s', '2017-11-01 00:00:00');
$date2 = DateTime::createFromFormat('Y-m-d H:i:s', '2018-01-31 00:00:00');
$diff = $date1->diff($date2);
print_r($diff)
result:
DateInterval Object
(
[y] => 0
[m] => 2
[d] => 30
[h] => 0
[i] => 0
[s] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 91
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
2か月と30日を示します。
しかし、わずかに異なるシナリオ
$date1 = DateTime::createFromFormat('Y-m-d H:i:s', '2017-11-01 00:00:00');
$date2 = DateTime::createFromFormat('Y-m-d H:i:s', '2018-01-30 00:00:00');
にこれら2つの日付の間の差分は、2ヶ月と30日ではなく、3ヶ月を表示する必要があります。
ご意見やご感想をいただければ幸いです。
可能な重複)](https://stackoverflow.com/questions/1607336/calculate-difference-between-too-dates-number-of-days) – 534F
@ 534F - この質問はPHPに関するものです。あなたのリンクはC#についてです。 –
[PHPを使用して2つの日付の違いを計算する方法]の可能な複製?(https://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-using-php) – Mohit