如何将像这个1335997853142
这样的Java时间戳转换为php可以读取的格式?
1335997853142
应为02 May 2012 22:30:53
。
但是,我尝试过哪些错误或PHP说1970-01-01 01:00:00
或2038-01-19 04:14:07
PLS帮助!!!我正在寻找超过1.5小时的解决方案!
答案 0 :(得分:8)
PHP时间戳是秒,而不是毫秒。
echo gmdate("d M Y H:i:s",1335997853);
输出02 May 2012 22:30:53
。
答案 1 :(得分:6)
它不是一个java时间戳,它是epoch(1970-01-01 00:00:00 GMT)后的毫秒数
除了几秒钟以外哪个php supports too所以以下内容应该在php中起作用:
date('choose your format', javaMilliseconds / 1000);
答案 2 :(得分:1)
Java为您提供以毫秒为单位的时间戳。 PHP使用Unix秒,因此除以1000:
print(date("r", 1335997853142/1000)
答案 3 :(得分:1)
您拥有的时间戳以毫秒为单位,以秒为单位
$java_time = 1335997853142;
$php_time = $java_time / 1000;
$today = date("d M Y G:i:s", $php_time);
输出
02 May 2012 22:30:53
答案 4 :(得分:1)
日期/时间:2014年4月8日下午12:17:42 UTC
Java时间戳:1396959462222
PHP时间戳:1396959462
除以1000并没有给出正确的答案,因为它会给出一个double或float值,即1396959462.222这不是我们想要的。我们需要一个整数,如1396959462.所以将Java时间戳转换为PHP时间戳的正确方法是使用intval():
$php_timestamp = intval($java_timestamp/1000);
在一个真实的例子中,在我的一个Android应用程序中,我将Java时间戳发送到PHP服务器,我按上面提到的那样做。此外,为了良好的安全性,我添加了一个preg_replace()来确保是否有人在此字段中添加了hack代码,它被删除了:
$php_timestamp = intval(preg_replace('/[^0-9]/', '', $java_timestamp)/1000);
答案 5 :(得分:1)
日期需要整数格式的时间戳。所以我认为你应该删除3个最后一个号码。不使用除法因为它会返回浮点数。
答案 6 :(得分:0)
在php中使用date()函数,参数可在此处找到:http://php.net/manual/en/function.date.php
答案 7 :(得分:0)
这是microtime的时间戳
使用
$time = date("whatever you need", $javatime / 1000);