【问题标题】:Comparing timestamps in java比较java中的时间戳
【发布时间】:2015-09-22 00:18:19
【问题描述】:

我收到字符串形式的时间戳。我想对这些时间戳进行排序。 如果时间戳的格式是“yyyy-MM-dd HH:mm:ss.SSS”,我是否只需使用 compareTo 函数将它们作为字符串进行比较?这将解决目的,但这是一个好习惯吗?

【问题讨论】:

  • 时区会有问题吗?
  • 否...如果时间戳有不同的时区怎么办...您的 compareTo 方法会给出错误的结果...
  • 显然,字符串比较适用于您的情况。这是否是一个好的做法是一个见仁见智的问题(因此不是一个好的堆栈溢出问题)。但是,如果您决定这样做,请确保在代码中记录您的假设。也就是说,明确说明格式是什么,并且所有内容都在同一个时区。

标签: java date


【解决方案1】:

比较时间戳的正确方法是将它们作为 Date 对象进行比较:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
boolean firstBeforeSecond = sdf.parse(firstDate).before(sdf.parse(secondDate));

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 2017-06-24
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多