#stata
Вопрос:
Цель
Я преобразую вектор строк следующего формата "MM/DD/YYYY HH:MM:SS"
в распознаваемое состояние даты и времени с помощью clock()
функции.
Проблема
Результирующее преобразованное время даты не эквивалентно входным данным. Вот код, который я использовал,
gen datetime = clock(dt, "MDY hms")
format datetime %tc
и вот результирующие данные, где исходная строка имеет dt
тип str19 и является типом str19 в формате s и datetime
является преобразованной переменной с плавающей точкой, отформатированной как %tc,
dt | дата-время |
---|---|
1/1/2016 1:00:00 | 01 января 2016 01:00:27 |
1/1/2016 2:00:00 | 01 января 2016 01:59:25 |
1/1/2016 3:00:00 | 01 января 2016 03:00:35 |
1/1/2016 4:00:00 | 01 января 2016 03:59:34 |
что я сделал
Я прочитал главу 24 Руководства пользователя Stata, посвященную работе с датами и временем, а также переводу даты и времени, и не смог разобрать никаких подсказок о том, что происходит, поэтому я очень признателен за любую помощь.
Примеры Данных
clear
input str19 dt
"1/1/2016 1:00:00"
"1/1/2016 2:00:00"
"1/1/2016 3:00:00"
"1/1/2016 4:00:00"
"1/1/2016 5:00:00"
"1/1/2016 6:00:00"
"1/1/2016 7:00:00"
"1/1/2016 8:00:00"
"1/1/2016 9:00:00"
"1/1/2016 10:00:00"
end
Комментарии:
1. Вам нужно указать-double — в качестве типа переменной. Об этом неоднократно упоминается в документации.
2. Прекрасно, жаль, что я это пропустил. Спасибо @NickCox
3. Кредит за четко сформулированную проблему.