2019年8月5日月曜日

日付値から「月初」や「月末」の日付値を求める方法




需要ありまくりなんで書いときます!
対象変数が「日付値」と「日時値」の場合で、書き方が異なります。



日付値の場合

data test;
    x = '05feb2019'd;
 
    firstday = intnx( 'month', x, 0, 'beginning');  *月初を求める;
    lastday = intnx( 'month', x, 0, 'end');            *月末を求める;
 
    format x firstday lastday yymmdd10.;
run;

上の例では、INTNX関数で日付変数Xの月初と月末を求めています。
INTNX関数の第1引数には 'month' と指定します。



日時値の場合

data test2;
    x = '2019-02-05T10:20:30'dt;
 
    firstday = intnx( 'dtmonth', x, 0, 'beginning');  *月初を求める;
    lastday = intnx( 'dtmonth', x, 0, 'end');            *月末を求める;
 
    format x firstday lastday e8601dt.;
run;

上の例では、INTNX関数で日時変数Xの月初と月末を求めています。
INTNX関数の第1引数には 'dtmonth' と指定します。
時刻のところは、月初では0時0分0秒、月末では23時59分59秒に設定されるようです。



0 件のコメント:

コメントを投稿