java - java中的有效性比较

标签 java date time compare

大家好,我的 Web 应用程序正在生成一个验证码,用户需要输入该验证码才能激活帐户。我希望生成的验证码在特定时间段内有效,比如 12 小时或 24 小时。我存储了生成代码的日期和时间的详细信息,但是我如何检查有效性意味着假设用户输入了代码,我如何检查他是否在验证期内输入了代码?如何一起比较日期和时间?谢谢

最佳答案

我不会将其视为日期和时间。我认为它是 瞬间。当您生成验证码时,及时计算出“从现在起 24 小时后”的时间,并将其存储。然后验证验证码时勾选“当前时刻”即可。

你可以使用 System.currentTimeMillis()获得即时 long以毫秒为单位的值。 (这是从 Unix 时代开始的,但这实际上与这里无关。)事实上,我建议您创建一种 Clock。可用于确定当前时刻的接口(interface),使用 System.currentTimeMillis() 实现- 或 Joda Time相等的。这样您就可以更轻松地对代码进行单元测试。

因此,将当前的毫秒数加上适当的持续时间(再次以毫秒为单位),这就是您的到期时间。

关于java - java中的有效性比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925361/

相关文章:

Java 字符串第 n 位切分

java - 如果给定两个十六进制数,用格雷码判断它们是否可以连续

javascript - 如何将时间格式 YYYY-MM-DDTHH :mm:ss. sssZ 转换为 MM-DD-YY 和标准时间

c - 如何以 : 2009‐08‐10 18:17:54. 811 格式打印时间

java - float 值上的 TimeUnit

java - 如何管理大量的权限?

java - 扩展通用父级时的值转换

sql-server - 如何在 SQL Server 2008 中获取重复 ID 序列中的下一个日期

linux - Shell 脚本 - 日期/时间和用户列表

Javascript - new Date() 在 Android 7.0 设备上返回错误的时区