在SAS中,如何阅读不同格式的以下日期? (特别是01/05/2018和1/6/2018)
2018年1月5日
2018年1月6日
2018年1月5日
2018年1月6日
非常感谢任何帮助。谢谢!
答案 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**
信息系列。