我的PHP代码:

   echo time();

   ----->  1427313418


我的Java(Android)代码:

   String current_in_sec = (System.currentTimeMillis()/1000)+""; // to convert it to seconds.
   Log.i("Log",current_in_sec);

    ---->  1427306783


PHP中的注意事项:1427313783,vs Java 1427306418

我知道php返回的时间以秒为单位,而Java返回的时间以毫秒为单位,因此我将Java结果划分为1000。

正如您所看到的,差异不是毫秒,似乎是非常不同的(可能是2个小时左右)。

在PHP中,我使用了这个:

    date_default_timezone_set('UTC');


但这没有任何区别;

有什么猜想吗?

提示:

我试图不将Java结果除以1000,结果如下:

   String current_in_sec = (System.currentTimeMillis())+"";
   Log.i("Log",current_in_sec);

    ---->  1427307978601


再次看到1427307978601,BOLD部分与php结果有很大不同;

此测试在我的笔记本电脑中:

myLaptop-> Android Studio-> genymotion

myLaptop->(PHP + Apache)-> SublimeText

最佳答案

Genymotion模拟器设置为错误的时区。转到Android设置,然后设置正确的位置/时区。我之前也遇到过同样的问题。
另外,请手动进行设置,而不要通过互联网进行设置。

关于java - Android中的纪元时间不同于PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29265490/

10-09 06:57
查看更多