如何在SAS中导入CSV数据时设置正确的日期格式?
我使用SAS中的数据步骤导入CSV数据,例如,在CSV中,我有一个日期列。日期为“2019年2月20日12:25:27 GMT” 代码:-如何在SAS中导入CSV数据时设置正确的日期格式?,sas,Sas,我使用SAS中的数据步骤导入CSV数据,例如,在CSV中,我有一个日期列。日期为“2019年2月20日12:25:27 GMT” 代码:- Data Test; infile 'Test,csv'; informat Date_Column date26.; format Date_Column datetime26.; run; 运行此代码时,我得到的日期为01JAN1960:05:59:23。我尝试过不同的格式,但有时我只得到日期,有时错误 有没有办法把正确的日期定为20-02-2019
Data Test;
infile 'Test,csv';
informat Date_Column date26.;
format Date_Column datetime26.;
run;
运行此代码时,我得到的日期为01JAN1960:05:59:23。我尝试过不同的格式,但有时我只得到日期,有时错误
有没有办法把正确的日期定为20-02-2019 12:25:27?我不知道有什么办法可以处理SAS的“GMT”。理想情况下,如果您需要处理来自不同时区的日期时间,我建议您根据ISO8601结构在CSV中获取日期时间 如果GMT不重要,您可以使用“anyDTM20.”来阅读该列 您描述的格式本身并不存在。SAS有许多接近的格式,您可以找到它们。让我们以“datetime20”为例 如果您真的需要这种特定的格式,那么您必须处理将日期和时间分开并在文本变量中“手动”设置格式的问题 您可以尝试以下代码:
data test;
/* input date and time in text format */
in = '20 Feb 2019 12:25:27 GMT';
/* text date converted into SAS datetime */
out = input(in,ANYDTDTM20.);
format out datetime20.;
/* if format really matters */
outdate = put(datepart(out),ddmmyyd10.);
outtime = put(out,tod9.);
/* outformatted will have your desired format but will be a char variable, not a datetime */
outformatted = put(outdate,$10.)||" "||put(outtime,$8.);
run;
答案也有一个类似的问题:尝试过了,但没有给出时间和日期