检索具有最大时间戳

时间:2018-03-22 04:25:00

标签: java algorithm

我的字符串包含以“---”分隔的查询和时间戳。 多个字符串具有相同的查询但具有不同的时间戳。我需要使用最大时间戳获取查询。

输入字符串如下所示:

3-13-2018 00:08:07.890---select * from tablename;
3-13-2018 00:08:37.920---select * from tablename;
3-13-2018 00:02:05.880---select * from tablename;

请帮助我一个方法。

3 个答案:

答案 0 :(得分:0)

这是做到这一点的方法。

  • 遍历包含时间戳的每个字符串。
  • 将“---”拆分为分隔符(String#split
  • 将上述步骤中的字符串时间戳转换为Date对象(SimpleDateFormat.parse(String);
  • 比较以这种方式积累的所有Date个对象,并找到最大值

答案 1 :(得分:0)

这里是伪代码,尝试在此进一步构建

Timestamp maxTimestamp = null;
for (String s : eachLine) {
    // 1. parse s using `--` delimiter, grab the timestamp token
    // 2. Use java8 API to get Timestamp object from the above token
    // 3. Compare the current timestamp with maxTimestamp
    if (currentTimestamp.after(maxTimestamp) || null == maxTimestamp) 
        maxTimestamp = currentTimestamp;
}

答案 2 :(得分:0)

试试吧    SELECT *,MAX(时间戳)来自your table name