LINUX.ORG.RU
решено ФорумTalks

Что за формат хранения даты

 , ,


0

1

Возникла необходимость работать с одной БД, но там есть проблема, что разработчики хранят датувремя в типе поля VARCHAR в таком виде [41530,7687189467615], надо как то это число преобразовать в нормальную дату что бы можно было просмотреть данные за сегодняшний день. Как это сделать средствами SQL запроса или PHP?

Возможно, это формат OLE. Целая часть - сутки после 31 декабря 1899, дробная - время суток.

Вот тут http://www.silisoftware.com/tools/date.php , если ввести 41530.7687189467615, выдаёт:

Text Date:
Date in human-readable text	Friday, September 13, 2013 2:26:57pm
RFC 822:
RFC 822 formatted date	Fri, 13 Sep 2013 14:26:57 -0400
ISO 8601:
ISO 8601 formatted date	2013-09-13T14:26:57-04:00
UNIX Timestamp:
seconds since Jan 1 1970	1379096817.317
Mac Timestamp:
seconds since Jan 1 1904	3461941617.317
FILETIME:
100-nanoseconds since Jan 1 1601	130235704173170000
Microsoft Timestamp:
days since Dec 31 1899	41530.768718947
reserved
()

Если эта дата - 13/09/2013 в 18-26-57, то это экселевский (хз, видел только там, может еще где используют) формат даты. целая часть - количество дней с 0 января 1900 года, дробную парсить не умею, но не удивлюсь если это количество секунд с той-же даты.

Deleted
()
Ответ на: комментарий от Martin256

Вывел формулу

timestamp=($unknow_time-25569.25)*60*60*24

0.25 поправка на мой часовой пояс

Martin256 ★★
() автор топика
Ответ на: комментарий от oneliner

Overflow occurred during data type conversion. conversion error from string «41508.08012152778 ».

Martin256 ★★
() автор топика
Ответ на: комментарий от oneliner

буду изваращаться при помощи моей формулы

Martin256 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.