SAS:阅读不同格式的日期

时间:2018-01-05 03:53:41

标签: sas

在SAS中,如何阅读不同格式的以下日期? (特别是01/05/2018和1/6/2018)

2018年1月5日
2018年1月6日
2018年1月5日 2018年1月6日

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

ANYDTDTM信息将大多数人类可读日期,时间或日期时间表示解析为SAS日期时间值。该值的datepart函数将返回其SAS日期值。

ANYDTDTE信息还将解析各种日期,时间或日期时间表示,并隐式返回日期部分。但是,对于ANYDTDTM没有的一些数据项,它会失败。

data _null_;

  input 
    @1 a_datetime_value anydtdtm. 
    @1 a_date_value anydtdte.
    ;

  hot_date = datepart(a_datetime_value);

  put 
    '_infile_   ' _infile_
  / 'anydtdtm.  ' a_datetime_value datetime16. 
  / 'datepart() ' hot_date yymmdd10. 
  / 'anydtdte.  ' a_date_value yymmdd10. 
  /;

datalines;
01/05/2018
1/6/2018
Jan 05 2018
Jan 6 2018
run;

==== LOG ====

_infile_   01/05/2018
anydtdtm.  05JAN18:00:00:00
datepart() 2018-01-05
anydtdte.           .

_infile_   1/6/2018
anydtdtm.  06JAN18:00:00:00
datepart() 2018-01-06
anydtdte.  2018-01-06

_infile_   Jan 05 2018
anydtdtm.  05JAN18:00:00:00
datepart() 2018-01-05
anydtdte.           .

_infile_   Jan 6 2018
anydtdtm.  06JAN18:00:00:00
datepart() 2018-01-06
anydtdte.           .

阅读SAS文档和会议论文,以便更深入地了解ANYDT**信息系列。