如何将日期时间转换为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 中执行其他常见任务:

如何在 SAS 中添加迄今为止的天数
如何在 SAS 中将数值变量转换为日期
SAS中如何计算两个日期之间的差异

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注