需要java代码来计算各种日志之间的时间吗

需要java代码来计算各种日志之间的时间吗,java,Java,这是一个日志文件,其中包含日期、时间。 我想计算任意两行之间的时间。 请在这方面帮助我 阅读每个条目及其时间戳 将时间戳字符串解析为java.util.Date 使用java.util.Calendar或计算时差 您可以将这两个时间提取为字符串,使用SimpleDataFormat将其转换为日期,然后再转换为long,并比较差异 您正在使用Windows系统吗?您的准确度可能在15毫秒左右。您需要解析日志并将令牌保存在列表或映射中(您可以使用StringTokenizer)。然后,您只需要使用S

这是一个日志文件,其中包含日期、时间。 我想计算任意两行之间的时间。 请在这方面帮助我

  • 阅读每个条目及其时间戳
  • 将时间戳
    字符串
    解析为
    java.util.Date
  • 使用
    java.util.Calendar
    或计算时差

  • 您可以将这两个时间提取为字符串,使用SimpleDataFormat将其转换为日期,然后再转换为
    long
    ,并比较差异


    您正在使用Windows系统吗?您的准确度可能在15毫秒左右。

    您需要解析日志并将令牌保存在列表或映射中(您可以使用
    StringTokenizer
    )。然后,您只需要使用SimpleDataFormat对日期执行一些操作,我将编写一个例程,获取字符串列表,解析其中的日期,并返回结果日期列表:

    [Tue Jun 21 16:09:27.530 2011] request_suspend_state: sleep (0->3) at 263958221465 (2000-01-01 00:04:22.124816866 UTC)
    [Tue Jun 21 16:09:27.530 2011] WARNING omaplfb (OMAPLFBPresentSync 235): Unable to sync with display 1!
    [Tue Jun 21 16:09:27.530 2011] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing
    [Tue Jun 21 16:09:27.530 2011] WARNING omaplfb (OMAPLFBPresentSync 235): Unable to sync with display 1!
    [Tue Jun 21 16:09:27.530 2011] PM: Syncing filesystems ... done.
    [Tue Jun 21 16:09:27.545 2011] PM: Preparing system for mem sleep
    [Tue Jun 21 16:09:27.545 2011] Freezing user space processes ... (elapsed 0.02 seconds) done.
    
    publicstaticlist-parseDates(List-ss)抛出ParseException{
    DateFormat格式=新的SimpleDataFormat(“[EEE MMM dd HH:mm:ss.SSS yyyy]”);
    列表日期=新建ArrayList();
    
    对于(int i=0;这不是一个“给我代码”网站。嗨,谢谢你的帮助。你能帮我从.log文件中读取这些日志吗?所以请帮我解决这个问题
    public static List<Date> parseDates(List<String> ss) throws ParseException {
      DateFormat format = new SimpleDateFormat("[EEE MMM dd HH:mm:ss.SSS yyyy]");
      List<Date> dates = new ArrayList<Date>();
      for (int i=0; i<ss.size(); i++) {
        dates.add(format.parse(ss.get(i)));
      }
      return dates;
    }
    
    List<Date> dates = parseDates(myLogLines);
    long t0 = dates.get(0).getTime(); // Time in millis from line 0.
    long t1 = dates.get(1).getTime(); // Time in millis from line 1.
    long diff = (t1 - t0); // Elapsed time in milliseconds between lines 0 and 1.