当前位置: 首页 > 面试题库 >

在Java中为当前时间添加大时间戳

顾俊誉
2023-03-14
问题内容

我正在开发一个支持Google两步验证的应用程序。此应用程序还支持“可信任此设备30天”的功能。

我使用数据库保存所有这些信息,例如IP地址和到期时间。现在,当我填写时间戳System.currentTimeMillis() + 30 * 24 * 60 * 60 * 1000以将当前时间增加30天时,它将比当前时间早的时间戳插入数据库中。

例如:当前时间= 1483223733000 (2016-31-12 11:36 PM UTC+1)。现在,当我加上30天(2592000000毫秒)时,得出的日期1481520984841 (2016-12-12 6:36 AM UTC+1)不是30天,而是大约19天。


问题答案:

此问题与32位整数溢出有关。由于整数的最大值为2147483647,所以30天(以毫秒为单位)对于一个整数来说太大了,并且会导致一个整数-1702967296(例如,大约-19天(以毫秒为单位))。

为了解决此问题,我使用long而不是int。所以现在我做了: System.currentTimeMillis() + 30L * 24 * 60 * 60 * 1000;



 类似资料:
  • 本文向大家介绍在MySQL中设置当前日期和时间作为时间戳,包括了在MySQL中设置当前日期和时间作为时间戳的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表。列之一设置为TIMESTAMP- 使用insert命令在表中插入一些记录。在这里,我们使用方法-将当前日期和时间设置为时间戳列- 使用select语句显示表中的所有记录- 这将产生以下输出-

  • 问题内容: 我无法为Java时间戳添加秒数。 我有这个,但是,它给了我相同的日期: 问题答案: 您拥有的代码适合我。作为简短但完整的程序: 输出: 请注意相差10分钟,即600秒。 当然,这样会损失亚毫秒级的精度,这可能不太理想-最初与我通常使用的时间戳背道而驰-但这 确实 增加了秒数… 另一种选择是直接使用:

  • 问题内容: MySQL中此查询的有效语法是什么? 注意:start_time是课程表的字段 问题答案: 有关其他日期/时间操作,请参见日期和时间功能。

  • 本文向大家介绍使用Java中的Calendar.add()方法将小时数添加到当前时间,包括了使用Java中的Calendar.add()方法将小时数添加到当前时间的使用技巧和注意事项,需要的朋友参考一下 为Java中的Calendar类导入以下软件包。 首先,创建一个Calendar对象并显示当前日期和时间。 现在,让我们使用calendar.add()方法和Calendar.HOUR_OF_DA

  • 本文向大家介绍php 将当前时间戳unixtime增加时间间隔的方法,包括了php 将当前时间戳unixtime增加时间间隔的方法的使用技巧和注意事项,需要的朋友参考一下     可以+year   还可以是天, 月日都可以的,如下代码:

  • 问题内容: 我将csv文件读入pandas数据框,得到以下信息: 无论是和列有100个元素。我想将Hour的相应元素添加到TDate。 我尝试了以下方法: 但是我得到了错误,因为td似乎没有将array作为参数。如何将的每个元素添加到的相应元素中。 问题答案: 我想你可以添加到列列转换有: