如何将mmddyy变量转换为date9变量?例如,假设我们有以下内容:
x = 05/10/2011
我希望x的格式为10May2011。所以我做了以下事情:
xnew = put(x, date11.);
但由于某种原因存在错误(date11不是可识别的格式)。为什么?我猜你不能从一种日期格式转换为另一种日期格式?您必须先将格式转换回sas内部值(1960年1月1日的天数),然后将其转换为date11?
答案 0 :(得分:7)
SAS date and time variables are stored in SAS as numeric data.因此,所有可以格式化为日期的变量都以相同的方式存储...作为数字。
在您的示例中,为了使X成为日期
x='05OCT2011'd;
然后你可以用你想要的任何日期格式来格式化它。
xnew = put(x, date11.);
如果x确实等于'05 / 10/2011',您可以将字符var转换为这样的数字
xnew = input(x, mmddyy10.);