Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

    • 缓存(cache)

    • 类加载器(classloader)

    • 编码解码(codec)

    • 集合(collection)

    • 比较器(comparator)

    • 压缩(compress)

    • 类型转换(convert)

    • 数据(data)

    • 日期时间(date)

      • 概述
      • 日期时间工具-DateUtil
      • 日期时间对象-DateTime
      • 农历日期-ChineseDate
      • LocalDateTime工具-LocalDateTimeUtil
      • 计时器工具-StopWatch
        • 介绍
        • 使用
          • 1. 基本用法
          • 2. 多任务计时
          • 3. 常用方法
        • 特点
      • 日历工具-CalendarUtil
      • 日期构建器-DateBuilder
      • 日期间隔-DateBetween
      • 月份枚举-Month
      • 星期枚举-Week
      • 时间单位-DateUnit
      • 日期范围-DateRange
    • 异常(exception)

    • 函数(func)

    • IO流(io)

    • 语言特性(lang)

    • Map(map)

    • 数字数学(math)

    • 网络(net)

    • 对象池(pool)

    • 反射(reflect)

    • 正则(regex)

    • 服务提供(spi)

    • 聚合操作(stream)

    • 字符串文本(text)

    • 并发和线程(thread)

    • 树结构(tree)

    • 工具集合(util)

    • XML操作(xml)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 核心(hutool-core)
  • 日期时间(date)
Hutool
2026-01-03
目录

计时器工具-StopWatch

# 介绍

Hutool通过封装StopWatch实现计时器功能,即可以计算方法或过程执行的时间。

StopWatch支持多任务计时,方便对比不同任务的执行时间。

# 使用

# 1. 基本用法

// 创建StopWatch实例
StopWatch stopWatch = StopWatch.of("任务名称");

// 开始计时
stopWatch.start();

//---------------------------------
//-------这是执行过程
//---------------------------------

// 停止计时
stopWatch.stop();

// 获取总耗时(毫秒)
long totalMs = stopWatch.getTotalTimeMillis();

// 获取总耗时(秒)
double totalSeconds = stopWatch.getTotalTimeSeconds();

# 2. 多任务计时

// 创建StopWatch实例
StopWatch stopWatch = StopWatch.of("多任务测试");

// 任务1
stopWatch.start("任务一");
ThreadUtil.sleep(1000);
stopWatch.stop();

// 任务2
stopWatch.start("任务二");
ThreadUtil.sleep(2000);
stopWatch.stop();

// 打印任务耗时对比
Console.log(stopWatch.prettyPrint());

# 3. 常用方法

// 创建StopWatch实例
StopWatch stopWatch = StopWatch.of();

// 开始默认任务
stopWatch.start();

// 开始指定名称的任务
stopWatch.start("自定义任务");

// 停止当前任务
stopWatch.stop();

// 获取最后一个任务的耗时(毫秒)
long lastTaskMs = stopWatch.getLastTaskTimeMillis();

// 获取最后一个任务的名称
String lastTaskName = stopWatch.getLastTaskName();

// 获取任务总数
int taskCount = stopWatch.getTaskCount();

// 获取所有任务信息
StopWatch.TaskInfo[] taskInfos = stopWatch.getTaskInfo();

// 生成简洁的任务摘要
String summary = stopWatch.shortSummary();

// 生成详细的任务耗时表格
String detailedReport = stopWatch.prettyPrint();

# 特点

  1. 支持多任务计时:可以同时记录多个任务的执行时间
  2. 灵活的时间单位:支持纳秒、毫秒、秒等多种时间单位
  3. 友好的输出格式:提供简洁摘要和详细表格两种输出格式
  4. 线程安全:支持多线程环境下使用
  5. 轻量级:无外部依赖,实现简单高效

通过StopWatch,开发者可以方便地对代码的执行时间进行精确测量和分析,有助于性能优化和调试。

LocalDateTime工具-LocalDateTimeUtil
日历工具-CalendarUtil

← LocalDateTime工具-LocalDateTimeUtil 日历工具-CalendarUtil→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式