Java 时间戳比较

标签 java datetime timestamp

我有一个时间戳以 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/

相关文章:

c# - 如何在 .NET/C# 中获取刻度精度的时间戳?

java - JAVA支持显示耗时,支持月日

java - 解析最初使用 Jackson 和 Jackson 解析器编码的 JSON 字符串会抛出 IOExeption

php - mysql php 选择范围内的表时间戳

MySQL 将 STR_TO_DATE 转换为 10 位微秒

Objective-C 时间跨度

java.text.ParseException : Unparseable date Exception while converting timestamp value to time in java 异常

sql - 将数据(字符串)存储在数据库中

java - 为什么我不能在 main 中实例化一个内部类?

php - 如何在 Propel 1.6 中按日期过滤日期时间列?