在SAS中导入CSV数据时如何设置正确的日期格式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SAS中导入CSV数据时如何设置正确的日期格式?相关的知识,希望对你有一定的参考价值。
我正在使用SAS EG中的Data Step导入CSV数据。在CSV中,我有一个日期列。该日期将于2019年2月20日格林威治标准时间12:25:27发布
代码: -
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无关紧要,您可以使用“ANYDTDTM20”。阅读专栏。
您描述的格式不存在。 SAS有很多接近的格式,你可以找到它们here。我们来看看“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;
以上是关于在SAS中导入CSV数据时如何设置正确的日期格式?的主要内容,如果未能解决你的问题,请参考以下文章