codecamp

SAS Date Times 日期时间

在SAS中日期有一种特殊的计算方式,以1960年1月1日为中心点进行计算,该日期为0,下一个日期的日期为1,以此类推。该日期之前的日期则为负数-1,-2等表示。使用这种方法,SAS可以表示未来的任何日期和过去的任何日期。

当SAS从源读取数据时,它将读取的数据转换为指定日期格式的特定日期格式。 用于存储日期值的变量使用所需的正确informat来声明。 输出日期通过使用输出数据格式显示。

SAS日期信息

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

输入日期日期宽度INFORMAT
03/11/201410mmddyy10。
03/11/148mmddyy8。
December 11, 201220worddate20。
14mar20119date9。
14-mar-201111date11。
14-mar-201115anydtdte15。

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

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;

当执行上面的代码,我们可以得到下面的输出。

SAS数据输出格式

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

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

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;

当执行上面的代码,我们可以得到下面的输出。


SAS宏
SAS写入数据集
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }