SAS Date Times 日期時間

2018-12-14 14:40 更新

在SAS中日期有一種特殊的計算方式,以1960年1月1日為中心點進行計算,該日期為0,下一個日期的日期為1,以此類推。該日期之前的日期則為負數(shù)-1,-2等表示。使用這種方法,SAS可以表示未來的任何日期和過去的任何日期。

當SAS從源讀取數(shù)據(jù)時,它將讀取的數(shù)據(jù)轉換為指定日期格式的特定日期格式。 用于存儲日期值的變量使用所需的正確informat來聲明。 輸出日期通過使用輸出數(shù)據(jù)格式顯示。

SAS日期信息

可以使用特定的日期信息正確讀取源數(shù)據(jù),如下所示。 信息末尾的數(shù)字表示使用信息完全讀取的日期字符串的最小寬度。 較小的寬度將給出不正確的結果。 使用SAS V9,有一個通用的日期格式anydtdte15。 它可以處理任何日期輸入。

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

下面的代碼顯示了不同日期格式的讀取。 請注意,所有的輸出值只是數(shù)字,因為我們沒有對輸出值應用任何格式語句。

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;

當執(zhí)行上面的代碼,我們可以得到下面的輸出。

SAS數(shù)據(jù)輸出格式

讀取后的日期可以根據(jù)顯示器的要求轉換為其他格式。 這是使用日期類型的格式語句實現(xiàn)的。 它們采用與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;

當執(zhí)行上面的代碼,我們可以得到下面的輸出。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號