Что это за формат даты и как мне его анализировать в SPSS? - PullRequest
0 голосов
/ 02 июля 2018

Какой формат даты 1037112:00:00.00 и как я могу преобразовать его в SPSS во что-то узнаваемое?

Для справки вот скриншот. Мы имеем дело с V2 и V4 (и, в некоторой степени, с V3 и V5): enter image description here

Редактировать: Когда я меняю формат V2 в SPPS с Дата на Числовой , фактический номер выделенной ячейки равен 3733603200:

enter image description here

Формат файла, из которого я импортировал данные в SPSS, - это Excel - и хотя дата правильно отображается в Excel (как «23 апреля»), я сомневаюсь, что Excel был родным форматом, в котором этот набор данных был создано. Данные были экспортированы из онлайн-опроса; Хотел бы я иметь больше информации об этом.

Вот значения столбца V2, отображаемые в Excel (ячейки отформатированы как «Общие»): enter image description here

1 Ответ

0 голосов
/ 02 июля 2018

Excel хранит даты в виде десятичного числа. Часть целого числа - это количество дней с 1 Jan 1900, а дробная часть - это доля дня с полуночи (0,5 - полдень). Если бы вы отформатировали ячейки, включив в них год, выделенная ячейка была бы преобразована в 23 Apr 2018 00:00:00 - идеально!

Если вы посмотрите на необработанное число, это 3,733,603,200. Разделите это на 60, чтобы преобразовать секунды в минуты, затем снова на 60, чтобы преобразовать минуты в часы - и вы получите точное число в своем вопросе: 1,037,112 часов, 00 минут и 00.0 секунд.

Если затем разделить это число на 24, чтобы преобразовать часы в дни, вы получите (точно) 43,213. Если вы попросите Excel отформатировать ячейку с этим номером в качестве полной даты, вы получите предыдущий 23 Apr 2018 - с 21 января по 23 апреля 2018 года будет 43 213 дней.

Переменные даты SPSS хранятся внутри как число секунд , начиная с 14 Oct 1582 00:00:00, так что вам (как правило) придется выполнять некоторые сложные вычисления! К счастью, вам просто нужно добавить количество дней между двумя «эпохами» - 115,859 - но не забудьте преобразовать это в секунды! Умножьте это на 24 * 60 * 60 сначала (10,010,217,600).

Обратите внимание, что V3 и V5 НЕ работают 24 часа. Некоторые помечены как «am», поэтому 18 должна быть датой месяца, а не часами - также обратите внимание на отсутствие двоеточия!


Я ничего не мог с собой поделать: мне пришлось добавить этот дополнительный бит.

Почему выбрала IBM такую ​​странную стартовую эпоху? 14 Oct 1582 случается, что это первый день (тогда) нового григорианского календаря, установленного папой Григорием II. Днем раньше было 5 Oct 1582 - учет этих пропущенных дней приводит к какой-то ужасной математике, поэтому IBM просто избежала этого.

Пропущенные дни должны были компенсировать все ошибочные дополнительные дней, которые они добавили в предыдущих столетиях для високосных годов, которых не должно было быть (те годы, которые можно было бы разделить на 100, но не на 400 ).

...