SAS - 日期和时间

IN SAS日期是数值的特例.从1960年1月1日开始,每天都会分配一个特定的数值.此日期被指定为日期值0,下一个日期的日期值为1,依此类推.此日期的前几天由-1,-2表示,依此类推.通过这种方法,SAS可以表示将来的任何日期和过去的任何日期.

当SAS从源读取数据时,它将读取的数据转换为指定日期格式的特定日期格式.存储日期值的变量是使用所需的适当信息声明的.使用输出数据格式显示输出日期.

SAS日期格式

使用特定日期信息可以正确读取源数据如下所示.信息末尾的数字表示使用信息完全读取的日期字符串的最小宽度.较小的宽度将产生不正确的结果.使用SAS V9,有一个通用的日期格式 anydtdte15.可以处理任何日期输入.

输入日期日期widthInformat
03/11/201410mmddyy10.
03/11/148mmddyy8.
2012年12月11日20worddate20.
14mar20119date9.
2011年3月14日11date11.
2011年3月14日15anydtdte15.

示例

以下代码显示了不同的读数日期格式.请注意,所有输出值都只是数字,因为我们没有对输出值应用任何格式语句.

DATA TEMP;
INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10.   ;
DATALINES;
02-mar-2012 3/02/2012 3/02/2012
;
PROC PRINT DATA = TEMP;
RUN;

执行上述代码后,我们得到以下输出.

date_time_1

SAS日期输出格式

读取后的日期可以根据需要转换为其他格式显示器.这是使用日期类型的格式语句实现的.它们采用与信息相同的格式.

示例

在下面的示例中,日期以一种格式读取,但以另一种格式显示.

DATA TEMP;
INPUT  @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.;
format  DOJ1 date11.  DOJ2 worddate20. ;
DATALINES;
01/12/2012 02/11/1998 
;
PROC PRINT DATA = TEMP;
RUN;

执行上述代码后,我们得到以下输出.

date_time_2