Android中的纪元时间与PHP不同

时间:2015-03-25 20:05:58

标签: java php android time

我的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:1427 313 783,vs java 1427 306 418

我知道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

正如你可以再次看到1427 307 978601, BOLD 部分与php结果大不相同;

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

myLaptop-> Android studio-> genymotion

myLaptop->(PHP +阿帕奇) - > SublimeText

1 个答案:

答案 0 :(得分:1)

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

enter image description here