Sas で datetime を日付に変換する方法


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関数を使用して、datetime 列の値がさまざまな形式の日付としてフォーマットされる新しいデータセットを作成する方法を示しています。

 /*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; 

4 つの新しい列には、元の datetime 列の日付が異なる形式で表示されることに注意してください。

デフォルトでは、 DATEPART関数は日付/時刻を 1960 年 1 月 1 日からの日数に変換します。

したがって、 date_defaultという新しい列には、日時ごとに 1960 年 1 月 1 日からの日数が表示されます。

: SAS DATEPART関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS で日付に日数を追加する方法
SAS で数値変数を日付に変換する方法
SAS で 2 つの日付の差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です