在SAS中将数字转换为日期格式

在SAS中将数字转换为日期格式,sas,Sas,我拥有的 我有一个名为Release\u Date的列/变量,长度为格式8 11。和信息11。 该列中的观察值为YYYYMMDD形式,SAS实际上将其视为纯数字 我想要什么 我想将这些观测值转换为DD/MM/YYYY格式,格式和信息为DDMMYY10 示例 发布日期是20180612,那么我想要2018年6月12日 在此方面的任何帮助都将不胜感激 转换为字符 作为日期读回 确保变量不同,因为SAS不允许您更改变量类型 releaseDate_NUM = input(put(Release_Dat

我拥有的

我有一个名为Release\u Date的列/变量,长度为格式8 11。信息11。

该列中的观察值为YYYYMMDD形式,SAS实际上将其视为纯数字

我想要什么

我想将这些观测值转换为DD/MM/YYYY格式,格式和信息为DDMMYY10

示例

发布日期是20180612,那么我想要2018年6月12日

在此方面的任何帮助都将不胜感激

  • 转换为字符
  • 作为日期读回
  • 确保变量不同,因为SAS不允许您更改变量类型

    releaseDate_NUM = input(put(Release_Date, 8. -l), yymmdd10.);
    

    • 以下解决方案创建一个简单的数据集,然后处理该数据集以添加转换日期:

      data myDates;
      input intDate;
      datalines;
      20110101
      20120202
      ;run;
      
      data myDates;
      set myDates;
      format cvtDate mmddyy10.;    * create new variable by specifying the format;
      cvtDate = input(put(intDate,8.),yymmdd8.);      * assign new variable value;
      run;
      
      结果应该是:

      intDate   cvtDate
      --------  ----------
      20110101  01/01/2011
      20120202  02/02/2012
      

      到目前为止您尝试了什么?为什么您关心变量附加了什么信息?您是否计划对该数据集使用FS/EDIT?使用该数据集读取新的原始数据?77mmdd应为yymmdd。