как я могу преобразовать 1335997853142
метку Java, подобную этой 1335997853142
в формат, который может читать php? 1335997853142
должно быть 02 May 2012 22:30:53
.
Но что я попробую, я получаю ошибки или PHP говорит 1970-01-01 01:00:00
или 2038-01-19 04:14:07
Помощь PLS !!! Я ищу более 1,5 часов для soloution!
Временные метки PHP – это секунды, а не миллисекунды.
echo gmdate("d MYH:i:s",1335997853);
Это выходы 02 May 2012 22:30:53
.
это не временная метка java, это миллисекунды с эпохи (1970-01-01 00:00:00 GMT)
Какой php поддерживает также за исключением секунд, поэтому в php должны работать следующие:
date('choose your format', javaMilliseconds / 1000);
Временная метка у вас есть в миллисекундах, когда она должна быть в секундах
$java_time = 1335997853142; $php_time = $java_time / 1000; $today = date("d MYG:i:s", $php_time);
Вывод
02 May 2012 22:30:53
Java дает вам временную метку в миллисекундах. PHP использует Unix секунд, поэтому разделите на 1000:
print(date("r", 1335997853142/1000)
Дата / время: апрель / 08/2014 12:17:42 pm UTC
Временная метка Java: 1396959462222
Временная метка PHP: 1396959462
Разделение на 1000 не дает правильного ответа, потому что это даст двойное или плавающее значение, то есть 1396959462.222, что мы не хотим. Нам нужно целое число, например 1396959462. Таким образом, правильный способ преобразования временной метки Java в временную метку PHP можно использовать с помощью метода intval ():
$php_timestamp = intval($java_timestamp/1000);
В реальном примере, в одном из моих приложений для Android, где я отправляю Java timestamp на PHP-сервер, я делаю это, как упоминалось выше. Кроме того, для хорошей практики безопасности я добавляю preg_replace (), чтобы убедиться, что кто-то добавил в этом поле код взлома, он удален:
$php_timestamp = intval(preg_replace('/[^0-9]/', '', $java_timestamp)/1000);
date нужна временная метка в целочисленном формате. Поэтому я думаю, что U должен удалить 3 последних номера. Не используйте деление, потому что оно вернет число с плавающей запятой.
Используйте функцию date () в php, параметры можно найти здесь: http://php.net/manual/en/function.date.php
Это временная метка в microtime
использование
$time = date("whatever you need", $javatime / 1000);