投稿日 | 2024/10/19(Sat) 03:00:35 |
---|---|
投稿者 | ゆうと |
参照先 |
こんにちは
> (開始日と終了日の日付差)を「yyy歳Mヵ月」に整えて表示する
「日付差」の結果は、日時期間形式となります。
日時期間形式で表現できるのは、日数までです。
ひと月の日数は、年と月によって変わるため、日付差を使ってプログラムにあるような年数や月数を求めることはできません。
そのため、歳を計算する場合には、日付差を使わずに次のように月数を求めてから歳と月をそれぞれ計算してください。
------
「2020/9/10」を日時形式化して、開始日とする
「2021/4/15」を日時形式化して、終了日とする
開始日の月が終了日の月より大きければ
月数=(12-開始日の月+終了日の月)+(終了日の年-開始日の年-1)*12
でなければ
月数=(終了日の月-開始日の月)+(終了日の年-開始日の年)*12
そして
開始日の日が終了日の日より大きければ
月数を減らす
そして
「[(月数-(月数%12))/12]歳[月数%12]ヵ月」を表示する
------
- WebForum -