java - 比较 PHP 时间戳(int)和 java 时间戳(长)

标签 java php time int long-integer

我碰壁了。

我正在从服务器下载加密的关卡数据(由我创建的关卡创建者制作)。

关卡数据存储了使用long Java的数据的最后更新版本。

现在要更新关卡,我使用 php 下载可用关卡的列表以及上次修改文件的时间。

很多人会说我必须将时间存储在其他地方,比如 json。这不是一个选择。

我得到以下结果:

Fri May 08 23:05:24 CEST 2015 | timeStampJava: 1431119124273
Sat Jan 17 14:31:58 CET 1970 | fileTimeStampPHP(filemtime): 1431118989
OLLY:LOG: ---
Fri May 08 23:05:28 CEST 2015 | timeStampJava: 1431119128871
Sat Jan 17 14:31:58 CET 1970 | fileTimeStampPHP(filemtime): 1431118989
OLLY:LOG: ---
Fri May 08 23:05:32 CEST 2015 | timeStampJava: 1431119132288
Sat Jan 17 14:31:58 CET 1970 | fileTimeStampPHP(filemtime): 1431118989
OLLY:LOG: ---
Fri May 08 23:05:35 CEST 2015 | timeStampJava: 1431119135289
Sat Jan 17 14:31:58 CET 1970 | fileTimeStampPHP(filemtime): 1431118989
OLLY:LOG: ---
Fri May 08 23:05:38 CEST 2015 | timeStampJava: 1431119138807
Sat Jan 17 14:31:58 CET 1970 | fileTimeStampPHP(filemtime): 1431118989

我正在尝试使用以下方法比较两者:

if(serverLevelInfo.last_updated > localLevelStorage.getLastUpdated())

问题是如果我沮丧,即

phpTimeStamp > (int)javaTimeStamp

它会产生完全不准确的结果。

现在做什么?

编辑 1

尝试的建议:

//TODO Problem PHP int timestamp to java long timestamp.
                            PolyUtils.log((long)(serverLevelInfo.last_updated * 1000));
                            PolyUtils.log(localLevelStorage.getLastUpdated());
                            PolyUtils.log("---");

结果(错误)

OLLY:LOG: 894879432
OLLY:LOG: 1431119124273
OLLY:LOG: ---
OLLY:LOG: 894879432
OLLY:LOG: 1431119128871
OLLY:LOG: ---
OLLY:LOG: 896347432
OLLY:LOG: 1431119132288
OLLY:LOG: ---
OLLY:LOG: 894879432
OLLY:LOG: 1431119135289
OLLY:LOG: ---
OLLY:LOG: 894879432
OLLY:LOG: 1431119138807
OLLY:LOG: ---

最佳答案

不幸的是,唯一的解决办法是你必须在 JAVA long 上失去一些准确性。这是因为 PHP 无法生成长整型(32 位标量变量。)

if(serverLevelInfo.last_updated > (int)(localLevelStorage.getLastUpdated() / 1000))

确保在你从 long 中取出 length 之后你转换 int 否则你会不准确。

关于java - 比较 PHP 时间戳(int)和 java 时间戳(长),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30133054/

相关文章:

java - 我可以使用 Java Mission Control 来监视较旧的 JVM 吗?

php - 使用表前缀在 magento 中以编程方式创建产品

Java get()时间方法

java - 将人类时间与计算机时间结合成合成时间

javascript - 如何使用html表格中定义的数据显示highchart图形?

php - 通过将时间字段与当前时间和当前时间加1小时进行比较来检索数据库记录

java - 订单的建模状态

创建类的新实例时的 Java 覆盖方法

java - 如何将 SWT 文本字段限制为一定数量的字符?

php - Volley POST 字符串请求意外错误 500