Tips

年末年始、月末月初を求める

日付2015/05/28
ID15-003
バージョン全バージョン
プラットフォームWindows, Mac

4Dで日付の計算をするときには、Add to dateを使うように心がけると、日付の取り扱いが楽に行えます。

それを踏まえて、年末年始、月末月初を求めるコードをご紹介します。

C_DATE($dateORG;$date1;$date2;$date3;$date4)
$dateORG:=Current date

  //月初
$date1:=Add to date($dateORG;0;0;-Day of($dateORG)+1)

  //月末
$date2:=Add to date(Add to date($dateORG;0;0;-Day of($dateORG)+1);0;1;-1)

  //年始
$date3:=Add to date(!0000/00/00!;Year of($dateORG);1;1)

  //年末
$date4:=Add to date(Add to date(!0000/00/00!;Year of($dateORG)+1;1;1);0;0;-1)

月末を求める考え方について解説を加えますと、まず当該月の翌月の1日の日付を求めて、その求めた日付から1をマイナスするということが4Dに限らず一般的なプログラムになります。上記のコードは、それを4D流に書いたものになります。

年末年始は日付の文字列を組みた立て、Dateコマンドで日付に変換する方法もありますが、Add to dateの方が高速に動作します。Add to dateを使っての年始の計算は、ちょっとしたテクニックになります。年末は、来年の年始から1を引いた日付になります。

参考:Tip: 月末を求める