SAS 日期减去 1 个月

SAS Date and substracting 1 Month

我有一个存储为数字 201401 的日期。我想减去 1 个月,所以是 201312 而不是 201400。

另外,如果有更高效的方法,也请指教。我还将日期存储为 01Jan2014,并且可以很好地转换 SAS 日期,以便我可以创建两个新列(减去 1 个月),以便它们具有值 01Dec2013 和 201312。此外,一个函数将月份向前或向后递增将不胜感激。

提前致谢。

如果您将日期存储为 SAS 日期,则可以使用函数 intnx 将其递增到您喜欢的任何时间段。

newdate = intnx('Month',olddate,1,'s');

如果像原来那样将其存储为整数,则需要您自己解决。我的回答是:不要。

先前的答案有效。 我只是想补充一点,在 SAS 中存储为日期与存储为整数不同。它可能显示 01JAN2014 但它代表一个数字,因此您仍然可以执行计算。

如果您将日期存储为 SAS 日期,则可以使用函数 intnx 将其递增到您喜欢的任何时间段。

newdate = intnx('Month',olddate,1,'s');