好吧,我似乎无法弄清楚发生了什么,所以我决定问你们.在PHP中,我使用以下代码获取UTC时间戳:
date_default_timezone_set("UTC");
time()
这将例如给我1331065202
long timestamp = System.currentTimeMillis() / 1000;
这将例如给我1331093502
为什么2次如此不同?它们不应该是UTC时区还是我做错了什么?我在VPS上托管,这些文章在2个不同的服务器上,所以它可能是服务器端的东西,如果是这样,我该怎么办?
解决方法:
鉴于这两个值完全不同(甚至不是整数小时),我会说其中一台机器上的时钟是错误的. (我假设您在几乎同时拍摄了两个时间戳.)
那些时间戳是:
> PHP:Tue Mar 06 20:20:02 GMT 2012
> Java:Wed Mar 07 04:11:42 GMT 2012
鉴于GMT不是3月27日,看起来Java机器上的时钟设置不正确.
如果它是您完全控制的真正VPS,您应该考虑使用NTP或类似的东西来保持服务器的时钟正确.