Как преобразовать временную метку java в timestamp php?

как я могу преобразовать 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);