
- SAS 教程
- SAS - 首頁
- SAS - 概述
- SAS - 環境
- SAS - 使用者介面
- SAS - 程式結構
- SAS - 基本語法
- SAS - 資料集
- SAS - 變數
- SAS - 字串
- SAS - 陣列
- SAS - 數值格式
- SAS - 運算子
- SAS - 迴圈
- SAS - 決策制定
- SAS - 函式
- SAS - 輸入方法
- SAS - 宏
- SAS - 日期與時間
- SAS 資料集操作
- SAS - 讀取原始資料
- SAS - 寫入資料集
- SAS - 合併資料集
- SAS - 合併資料集
- SAS - 資料集子集
- SAS - 資料集排序
- SAS - 資料集格式化
- SAS - SQL
- SAS - 輸出交付系統
- SAS - 模擬
- SAS 基本統計過程
- SAS - 算術平均值
- SAS - 標準差
- SAS - 頻數分佈
- SAS - 交叉表
- SAS - t 檢驗
- SAS - 相關分析
- SAS - 線性迴歸
- SAS - Bland-Altman 分析
- SAS - 卡方檢驗
- SAS - Fisher 精確檢驗
- SAS - 重複測量分析
- SAS - 單因素方差分析
- SAS - 假設檢驗
- SAS 有用資源
- SAS - 快速指南
- SAS - 有用資源
- SAS - 問答
- SAS - 討論
SAS - 日期與時間
在 SAS 中,日期是數值的一種特殊情況。從 1960 年 1 月 1 日開始,每一天都被分配一個特定的數值。這個日期的值為 0,下一個日期的值為 1,以此類推。此日期之前的日期用 -1、-2 等表示。透過這種方法,SAS 可以表示過去和未來的任何日期。
當 SAS 從資料來源讀取資料時,它會根據指定的日期格式將讀取的資料轉換為特定的日期格式。儲存日期值的變數需要宣告所需的正確輸入格式。輸出日期使用輸出日期格式顯示。
SAS 日期輸入格式
可以使用如下所示的特定日期輸入格式正確讀取源資料。輸入格式末尾的數字表示使用輸入格式完全讀取日期字串的最小寬度。較小的寬度將導致錯誤的結果。在 SAS V9 中,有一個通用的日期格式 **anydtdte15.** 可以處理任何日期輸入。
輸入日期 | 日期寬度 | 輸入格式 |
---|---|---|
03/11/2014 | 10 | mmddyy10. |
03/11/14 | 8 | mmddyy8. |
2012 年 12 月 11 日 | 20 | worddate20. |
14mar2011 | 9 | date9. |
14-mar-2011 | 11 | date11. |
14-mar-2011 | 15 | anydtdte15. |
示例
以下程式碼顯示了讀取不同日期格式的方法。請注意,由於我們沒有對輸出值應用任何格式語句,因此所有輸出值都只是數字。
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 日期輸出格式
讀取日期後,可以根據顯示需要將其轉換為其他格式。這是透過使用日期型別的格式語句實現的。它們採用與輸入格式相同的格式。
示例
在下面的示例中,日期以一種格式讀取,但以另一種格式顯示。
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;
執行上述程式碼後,將獲得以下輸出。
廣告