Excel parse выдает 40802 на дату 16-сент-11 - PullRequest
2 голосов
/ 26 сентября 2011

Я нашел PHP-скрипт, который анализирует файлы Excel, но, похоже, существует какая-то система нумерации или кодировка, связанная с датами. Например, оригинальные таблицы .xls содержат эту дату в следующем формате:

16-Sep-11

Однако информация, которая анализируется сценарием, показывает следующее целое число для представления этой даты:

40802

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

Ответы [ 2 ]

3 голосов
/ 26 сентября 2011

В зависимости от свойств рассматриваемого файла Excel использует один из двух несовместимых форматов для хранения дат: систему «1900» и систему «1904».По умолчанию файл, созданный в Windows, будет использовать систему «1900», а файл, созданный на Mac, будет использовать систему «1904».В системе 1900 года сохраненное число представляет собой количество дней, прошедших с 1 января 1900 года, в то время как в системе 1904 года сохраненное число представляет собой количество дней, прошедших с 1 января 1904 года. Есть различные исторические причины (или истерические изюминки?) почему Excel использует два формата.Времена также хранятся аналогичным образом, причем целая часть - это дата, а дробная часть - часть прошедшего дня.

Вот статья Microsoft Knowlegebase с дополнительной информацией: http://support.microsoft.com/kb/214330

0 голосов
/ 26 сентября 2011

Даты в Excel основаны на количестве дней с 1 января 1900 года. На этой странице содержится подробная подробная информация о задании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...