Преобразование символьной строки в дату и время в SAS

#sas

#САС

Вопрос:

Как я могу преобразовать 2020-12-04T12:54:38.9215456 01:00 в a datetime in SAS ? Мое решение, приведенное ниже, не дает никакого результата.

 data temp; timestamp = '2020-12-04T12:54:38.9215456 01:00'; run;  data temp; set temp; date = substr(timestamp, 1, 10); time = substr(timestamp, 12, 8); date_and_time = cat(date, " ", time); new_datetime = input(date_and_time, datetime24.); format new_datetime datetime24.; run;  

Ответ №1:

Я думаю, вам нужна часть даты в DATE9. формате.

Код

 data temp; ts='2020-12-04T12:54:38.9215456 01:00'; dt=put(input(substr(ts, 1, 10), yymmdd10.), date9.); tm=substr(ts, 12, 8); new_ts=input(cat(dt, ' ', tm), datetime24.); format new_ts datetime24.; run;  

Ответ №2:

Попробуйте anydtdtm. воспользоваться информацией.

 data temp; timestamp = '2020-12-04T12:54:38.9215456 01:00'; to_dt = input(timestamp, anydtdtm.); format to_dt datetime20.; run;  Result: 04DEC2020:12:54:38