投稿日 2024/10/19(Sat) 03:00:35
投稿者 ゆうと
参照先

こんにちは

> (開始日と終了日の日付差)を「yyy歳Mヵ月」に整えて表示する

「日付差」の結果は、日時期間形式となります。
日時期間形式で表現できるのは、日数までです。
ひと月の日数は、年と月によって変わるため、日付差を使ってプログラムにあるような年数や月数を求めることはできません。

そのため、歳を計算する場合には、日付差を使わずに次のように月数を求めてから歳と月をそれぞれ計算してください。
------
「2020/9/10」を日時形式化して、開始日とする
「2021/4/15」を日時形式化して、終了日とする

開始日の月が終了日の月より大きければ
  月数=(12-開始日の月+終了日の月)+(終了日の年-開始日の年-1)*12
でなければ
  月数=(終了日の月-開始日の月)+(終了日の年-開始日の年)*12
そして
開始日の日が終了日の日より大きければ
  月数を減らす
そして
「[(月数-(月数%12))/12]歳[月数%12]ヵ月」を表示する
------


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -