たとえば2004-05-06から現在までが
何ヶ月かという計算をしたいのですが、
仮に現在の日付が2008-10-08としますと
phpでは日付の型がないので、仕方なく
日付を一旦秒に変換しなければならず
上記の例ですと139622400秒であるというところまではできました。
しかし、こんどはこの秒を月に変換する方法が分かりません。

2592000秒(30日間)で割れば53.8ヶ月という数字は出せましたが
31日の月や、28日しかない月があるので、
算出結果を四捨五入するとしても
果たしてこれで正確な処理ができるか不安です。
また結果はあくまで”何ヶ月”という
数字がほしくて(for等の処理に利用する為)
○年○ヶ月という値ではとりたくありません。
どうすれば、ある一定期間の月間がだせるでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

「何か月」っていい加減な言い方なので定義が必要



2004-05-06~2008-10-08が、4年と5ヵ月と2日であるのはわかりやすいが
2004-05-06~2008-10-04が、4年と5ヵ月と-2日だったら、これは
4年4ヵ月なの?4年5ヵ月なの?

2008-05-31~2008-06-30は、1ヵ月と-1日なので0ヵ月におもえますが
その一日後どうしつまり2008-06-01~2008-07-01は1ヵ月ぴったりですね?

つまるところ、A~Bの間が何か月ということは定義ができてない
ところでいくらぐだぐだ考えても「正解はない」ということ
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
実際は
2004-05-06~2008-10-08が、4年と5ヵ月と2日で
2004-05-06~2008-10-04が、4年と4ヶ月と28日と
としたいのですが、それは、一ヶ月が30日進数と定義した場合であり
30日進数なのか31日進数なのかはっきりしない一ヶ月は
厳密に何ヶ月と定義するのは難しいのですね。

お礼日時:2009/05/28 10:55
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2009/05/28 10:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報