SAS 日時値は、1960 年 1 月 1 日からの秒数に等しい浮動小数点値として内部的に表されます FORMATS
。これらの数値が外部でどのように表されるかを制御するために使用されます。たとえば、次のように考えてください。
data have;
myDateTime1 = '14-Jan-2013 07:00:00.479'dt;
myDateTime2 = '14-Jan-2013 07:00:00.479'dt;
myDateTime3 = '14-Jan-2013 07:00:00.479'dt;
format myDateTime2 datetime23.3
myDateTime3 E8601DT23.3;
put myDateTime1= 'as a number'
/ myDateTime2= 'as a normal SAS datetime'
/ myDateTime3= 'as an ISO 8601 datetime'
;
run;
実行すると、SAS ログに次のように表示されます。
myDateTime1=1673766000.5 as a number
myDateTime2=14JAN2013:07:00:00.479 as a normal SAS datetime
myDateTime3=2013-01-14T07:00:00.479 as an ISO 8601 datetime
3 つの変数の値は同じですが、指定さmyDateTime
れた変数に基づいて表示が異なることに注意してください。format
SAS Access to PC File Formats のライセンスがあると仮定するとPROC EXPORT
、Excel ワークブックを作成するために使用できます。
proc export data=have
outfile='c:\temp\test_dates.xlsx'
replace;
run;
「日時」値としてフォーマットされた 2 つの変数の Excel ワークブックのデータ値は、Excel 列として正しく表示されます。ただし、Excel の既定の書式設定では「日付」部分のみが表示されます。Excel で完全な値を表示するには、Excel の列形式を変更する必要があります。