在SAS中转换日期

Rod*_*292 0 date sas

我对SAS编程很陌生,我正在努力研究日期.

我在SAS中有一个数据集,其中日期以这种格式编写16NOV2007:00:00:00,我需要将其转换为这种格式dd/mm/yyyy

任何人都可以帮忙吗?

Dom*_*ois 6

在以下示例中

  • datetime_str是你的原始日期时间,作为一个字符串(如果它不是一个字符串,那么你需要的只是datepart()函数和一个正确的格式).
  • sasdate是日期的一部分,datetime_str并存储为SAS日期(数字),但给出ddmmyy格式.
  • date_str(在您的情况下可能不需要)是sasdate使用与ddmmyy以前相同的格式将字符串变量重写为字符串变量.

SAS代码

data dates;
  format datetime_str $20. 
         sasdate ddmmyys10.
         date_str $10.;
  datetime_str = "16NOV2007:00:00:00";
  sasdate = datepart(input(datetime_str, datetime18.));
  date_str = put(sasdate, ddmmyy10.);
run;
Run Code Online (Sandbox Code Playgroud)

结果

datetime_str         sasdate      date_str 
16NOV2007:00:00:00   16/11/2007   16/11/2007 
Run Code Online (Sandbox Code Playgroud)