从文本文件到SAS日期的奇怪日期格式

时间:2014-12-15 17:20:10

标签: date sas

我有一个文本文件,其中包含我想要转换为SAS日期的日期。日期看起来像这样

2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z

我知道如果日期看起来像date_in_string =' 05May2013',那么我可以

input(date_in_string,date9.);

但是,我在字符串中有字符,而且我找不到任何合适的格式。

1 个答案:

答案 0 :(得分:6)

IS8601DZ.是该日期时间的正确信息,因为它是带有时区的ISO 8601日期时间格式。

data test;
  input dt IS8601DZ.;
  format dt datetime17.;
datalines;
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
;;;;
run;

要转换为仅限日期,您可以在其中阅读然后使用DATEPART,或者您可以使用YYMMDD10。读取它(记住,SAS会很乐意为你截断它并忽略最后的垃圾 - 只要你的MM / DD是零填充)。如果它们不是零填充,则必须以其他方式解析它。

data test;
  input dt YYMMDD10.;
  format dt date9.;
datalines;
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
2014-12-14T07:04:33Z
;;;;
run;