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

Ale*_*der 2 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
Run Code Online (Sandbox Code Playgroud)

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

input(date_in_string,date9.);
Run Code Online (Sandbox Code Playgroud)

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

Joe*_*Joe 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;
Run Code Online (Sandbox Code Playgroud)

要转换为仅限日期,您可以阅读它然后使用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;
Run Code Online (Sandbox Code Playgroud)