我在阅读包含格式为“yyyy-mm-dd hh:mm:ss.sss”的日期字段的文本文件时遇到问题。我不确定是否有一个具有相同格式的信息,所以我正在研究创建自己的proc格式。以下是我写的内容:
proc format;
picture mydate (default=23)
other = '%0Y-%0m-%0d %0H:%0M:%0S';
run;
然而,这不起作用,我怀疑这是因为秒数在小数点后有3个值。我的问题是,是否有可以读取此格式的信息,或者是否有可以读取十进制值的秒数的日期指令?
谢谢!
答案 0 :(得分:2)
不确定是否有确切的格式',但对于' informat',您不必重新发明轮子:
data _null_;
_in='2015-08-20 17:25:23.562';
_out=input(_in, ANYDTDTM32.);
put _in= _out= e8601dt25.3;
run;
答案 1 :(得分:0)
你几乎就在那里,只是一点变化。
proc format;
picture mydate
other = '%0Y-%0m-%0d %0H:%0M:%0s'(datatype=datetime );
run;
data _null_;
date='2015-08-20 17:25:23.562';
_date=input(_in, ANYDTDTM32.);
format _date mydate23.3;
put _all_;
run;