年末年始、月末月初を求める
日付 | 2015/05/28 |
---|---|
ID | 15-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: 月末を求める