我的日期存储为201401的数字。我想减去1个月,所以这是201312而不是201400.
此外,如果有更有效的方式,请同时提出建议。我也将日期存储为01Jan2014,并且在那时可以很好地转换SAS日期,这样我就可以创建两个新列(减去1个月),使它们具有值01Dec2013和201312.此外,还有一个函数向前或向后递增月份将非常感激。
提前致谢。
答案 0 :(得分:3)
如果您将日期存储为SAS日期,则可以使用函数intnx将其增加到您喜欢的任何时间段。
newdate = intnx('Month',olddate,1,'s');
如果您将其存储为与原始整数相似的整数,那么您可以自行计算出来。我的回答:不要。
答案 1 :(得分:0)
先前的答案有效。 我只想添加,在SAS中存储日期与存储为整数不同。它可能会显示01JAN2014,但它代表一个数字,因此您仍然可以执行计算。
如果您将日期存储为SAS日期,则可以使用函数intnx将其递增到您喜欢的任何时间段。
newdate = intnx('月',olddate,1,' s');