如何将日期时间转换为sas中的日期
将日期/时间转换为 SAS 中的日期的最简单方法是使用DATEPART函数。
该函数使用以下基本语法:
date = put ( datepart (some_datetime), mmddyy10. );
mddyy10 参数。指定日期的格式应为 10/15/2022。
以下示例展示了如何在实践中使用此语法。
示例:将日期时间转换为 SAS 中的日期
假设 SAS 中有以下数据集,其中包含一列日期和时间:
/*create dataset*/
data original_data;
format some_datetime datetime23.;
input some_datetime:datetime23.;
datalines ;
14OCT2022:0:0:0
09NOV2022:0:0:0
14NOV2022:0:0:0
15NOV2022:0:0:0
22DEC2022:0:0:0
24DEC2022:0:0:0
04JAN2023:0:0:0
;
run ;
/*view dataset*/
proc print data = original_data;
以下代码展示了如何使用DATEPART函数创建一个新数据集,其中日期时间列中的值被格式化为不同格式的日期:
/*create new dataset with datetime formatted as date*/
data new_data;
set original_data;
date_mmddyyyy = put ( datepart (some_datetime), mmddyy10.);
date_yyyymmdd = put ( datepart (some_datetime), yymmdd10.);
date_date9 = put ( datepart (some_datetime), date9.);
date_default = datepart (some_datetime);
run ;
/*view new dataset*/
proc print data = new_data;
请注意,四个新列以不同的格式显示原始日期时间列中的日期。
默认情况下, DATEPART函数将日期/时间转换为自 1960 年 1 月 1 日以来的天数。
因此,名为date_default的新列显示每个日期时间自 1960 年 1 月 1 日以来的天数。
注意:您可以在此处找到 SAS DATEPART函数的完整文档。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: