我想以一种我认为相当简单的方式生成时间戳——但数学让我无法理解!
我想生成满足以下条件的 2 个时间戳(自纪元以来以毫秒为单位):
- 他们是平等的。
- 它们在 10 秒内生成时相等。
- 它们会在几分钟后“过期”——比如最少 5 分钟,最多 10 分钟?(即时间戳未来日期)
用例如下:
- 客户端 A 从服务器 A 请求当前时间 - 使用响应来计算它自己的时钟漂移。
- 客户端 A 根据服务器 A 时间生成一个到期时间戳并发送到服务器 B(加密 - 所以我不能只是读取它)
- 假设服务器 A 与服务器 B 的不同步时间少于 10 秒,服务器 B 生成具有相同到期时间的相同时间戳。
例子:
Time SvrA Time SvrB Client A Server B
11:53.00 11:53.09 12:00.00 12:00.00
11:53.09 11:53.00 12:00.00 12:00.00
11:54.59 11:55.00 12:00.00 12:00.00
11:54.59 11:55.08 12:00.00 12:00.00 - could be 12:05 as long as they match
12:00.00 11:59.59 12:05.00 12:05.00 - could be 12:10 etc...
ETC....
理想情况下,我想要一些只适用于 Longs 的东西——并且避开 Java 日历