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