我担心,在同样的情况下,这似乎是很多问题的重复,但我找不到任何答案。
我想要的是两个UTC之间的比较。一个在java中生成,一个在PHP中生成。我发现UTC(毫秒字符串)完全不同。
真实案例是授权的到期计算。我可以允许令牌到期3分钟。令牌可能来自世界各地的任何本地服务器。
任何人都可以建议解决这个问题吗?...
感谢您的帮助
答案 0 :(得分:6)
PHP timestamp是自Unix纪元以来秒的数量。自Unix时代以来,Java的库使用毫秒的数量。所以我希望PHP值是Java值的千分之一。
但是,它是同一时代 - 两者都是UTC,1970年1月1日午夜,在ISO日历中。如果服务器在合理的时间内达成一致意见,那么您应该没问题。但是,3分钟是一个相对小窗口 - 您对所涉及的所有计算机是否有信心经常合理地与网络时间服务器同步?
答案 1 :(得分:1)
确保它们都真正毫秒,因为“unix time”传统上是以秒为单位。
如果不这样做,是的,“自UNIX时代以来的秒数”应该是相同的,无论你是用Java还是PHP计算它。如果您不确定是否已正确完成此操作,则可以发布代码。
如果操作正确,请确保您的时钟已同步(例如ntp
)。这是一个非常常见的原因,例如“必须在3分钟之内”才能虚假地失败。