Временная метка для строки даты в PHP - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь преобразовать строку метки времени в дату в PHP. У меня есть следующий код

date_default_timezone_set('Asia/Calcutta');
$time = (int)$_POST['timestamp'];
$timeString = date('H:i:s',$time);

Как бы то ни было, я всегда получаю timeString как 08:44:07, несмотря ни на что. Я полагал, что отметка времени больше, чем то, что может хранить 32-битное целое число, возможно, поэтому это преобразование всегда дает максимальное значение по умолчанию для целых чисел.

Как я могу создать 64-битное целое число в PHP? У меня есть 64-битная машина и 64-битная Windows 7 на нем. Есть ли лучший способ преобразования строки метки времени в местное время?

EDIT: временная метка в виде строки отправляется с помощью javascript - "1330582437883"

1 Ответ

6 голосов
/ 01 марта 2012

Мой совершенно необоснованный удар в темноту:

Значение метки времени исходит из Javascript. Javascript измеряет метки времени в миллисекундах, а не в секундах, как PHP. Таким образом, значение в 1000 раз больше, чем ожидает PHP. Разделите значение на 1000 перед отправкой в ​​PHP. В качестве альтернативы используйте ту сторону сервера, для которой вам, вероятно, придется использовать bcdiv, чтобы получить точное значение.

...