【问题标题】:Date Error in SASSAS 中的日期错误
【发布时间】:2011-12-03 21:23:00
【问题描述】:

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

    x = 05/10/2011

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

   xnew = put(x, date11.);

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

【问题讨论】:

    标签: sas


    【解决方案1】:

    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.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      相关资源
      最近更新 更多