我有一个时间戳以 2011-01-23-12.31.45 格式从外部源传递到我的应用程序。我需要将它与当前系统时间戳进行比较,确保其差异小于 2 分钟。关于如何实现这一目标的任何想法?
最佳答案
那是日期,不是时间戳。您可以使用 java.text.SimpleDateFormat
解析它,使用 yyyy-dd-MM-HH.mm.ss
格式:
SimpleDateFormat sdf = new SimpleDateFormat("yyy-dd-MM-HH.mm.ss");
Date date = sdf.parse(inputDateString);
long timestamp = date.getTime();
然后比较 - 一分钟有 60 * 1000 毫秒。
使用 joda-time对于日期时间操作始终是首选 - 它将:
- 有数据格式的线程安全实现 -
DateTimeFormat
(上面的不是线程安全的) - 只需执行
Minutes.minutesBetween(..)
即可找出两个时刻之间的分钟数,而不是计算。
关于Java 时间戳比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464897/