sas数字转日期格式_一个关于sas日期时间读入格式的问题

时间:2025-03-23 07:39:30

方法一:直接使用SAS的PROC IMPORT,可以直接识别DATETIME格式(SAS版本9.2)

PROC IMPORT OUT= WORK.T5

DATAFILE= "C:\"

DBMS=CSV REPLACE;

GETNAMES=NO;

DATAROW=1;

RUN;

方法二:比较麻烦点

/*因为datetime的informat中的date部分只能是ddmmmyy或ddmmmyyyy的格式,如31jan2007,所以你提供的格式如使用datetime格式,系统无法识别,因此要手动去分别读取时间和日期再整合成一个变量*/

data temp;

input date yymmdd10. time time10.;

datetime=date*24*3600+time;

format datetime datetime20.;

cards;

2010/07/01 07:47:35

2010/11/01 17:47:35

2010/07/12 03:47:35

run;

补充说明:

ENTERPRISE GUIDE 4.2中对数据导入提供了非常方便的操作界面。可以指定每一个变量的属性及格式。推荐使用

2. Datetime 对应的几种格式,供参考

30May2000:10:03:17.2    DATETIME20.

30May00 10:03:17.2        DATETIME18.

30May2000/10:03            DATETIME15.

3. 格式规范问题

很多日期数据不规范,如 2010/7/1 7:47:35

而真正规范的应该是,2010/07/01 07:47:35

然而,往往正是这些不规范的数据导致了导入数据的出错。