Как установить правильный формат даты при импорте данных CSV в SAS? - PullRequest
0 голосов
/ 20 февраля 2019

Я импортирую данные CSV, используя шаг данных в SAS EG.в CSV у меня есть столбец даты.Дата наступает как '20 фев 2019 12:25:27 GMT '

Код: -

Data Test;
infile 'Test,csv';
informat Date_Column date26.;
format Date_Column datetime26.;
run;

При запуске этого кода я получаю дату как 01JAN1960: 05: 59: 23 .Я пробовал другой формат, но иногда я получаю только дату, а иногда и ошибки.

Любой способ получить правильную дату как 20-02-2019 12: 25: 27 ?

1 Ответ

0 голосов
/ 20 февраля 2019

Я не знаю ни одного способа обработки "GMT" с помощью SAS.В идеале, если вам нужно иметь дело с датами из разных часовых поясов, я бы порекомендовал получать даты в вашем CSV в соответствии со структурой ISO8601.

Если GMT не имеет значения, вы можете использовать «ANYDTDTM20».читать колонку.

Формат, который вы описываете, не существует как таковой.SAS имеет много подходящих форматов, вы можете найти их здесь .Давайте возьмем «datetime20».для примера.

Если вам действительно нужен этот конкретный формат, то вам придется разобраться, разделит даты и время и отформатирует его «вручную» в текстовой переменной.

Вы можете попробовать этот код:

data test;

/* input date and time in text format */
in = '20 Feb 2019 12:25:27 GMT';

/* text date converted into SAS datetime */
out = input(in,ANYDTDTM20.);
format out datetime20.;

/* if format really matters */
outdate = put(datepart(out),ddmmyyd10.);
outtime = put(out,tod9.);
/* outformatted will have your desired format but will be a char variable, not a datetime */
outformatted = put(outdate,$10.)||" "||put(outtime,$8.);
run;
...