SAS中的日期错误

时间:2011-12-03 21:23:01

标签: sas

如何将mmddyy变量转换为date9变量?例如,假设我们有以下内容:

    x = 05/10/2011

我希望x的格式为10May2011。所以我做了以下事情:

   xnew = put(x, date11.);

但由于某种原因存在错误(date11不是可识别的格式)。为什么?我猜你不能从一种日期格式转换为另一种日期格式?您必须先将格式转换回sas内部值(1960年1月1日的天数),然后将其转换为date11?

1 个答案:

答案 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.);

Also, date11. is a valid date format.