簡體   English   中英

SAS:根據月份和年份查找每月最后一天的日期

[英]SAS: Find Date of Last Day of Month Given Month and Year

問題:是否可以找到給定月份和年份中最后一天的日期而無需使用月份/年份中的第一個日期?


我的解決方案

我正在執行的任務要求僅給定月份和年份,同時指定開始日期和結束日期。 我開發的解決方案需要開始日期:

data assigndate;

    month = 12;
    year = 2011;

    begin_date = mdy(month, 01, year);
    end_date = intnx('month', begin_date, 0, 'end');

    format begin_date mmddyy8.;
    format end_date mmddyy8.;

run;

當然,我可以通過直接將表達式替換為begin_date使其成為一個襯套:

end_date = intnx('month', mdy(month, 01, year), 0, 'end');

您可以使用YYMMN6的日期格式。 這是201112,不包含日期。 我認為使用1作為一天會更容易。

data want;
    month=12;
    year=2011;
    end_date=intnx('month', input(catt(year, month), yymmn6.) , 0, 'end');
    format end_date date9.;
run;

如果您不想使用“ 1”,則此代碼有效。

data m;
  format end_date date9.;
  do year=1960 to 2022;
    do month=1 to 12;
      end_date = intnx('month', (year-1960)*365.25+(month*28), 0, 'end');
      output;
    end;
  end;
run;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM