2014-12-15 2 views
2

У меня есть текстовый файл с датой, которую я хотел бы преобразовать в дату 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

Вы можете найти полный список informats либо собирается здесь (http://support.sas.com/documentation/cdl/en/leforinforref/64790/HTML/default/viewer.htm#n0verk17pchh4vn1akrrv0b5w3r0.htm), или googling 'sas 9.4 informats ссылка' –

ответ

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; 
Смежные вопросы