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
      • 日历工具-CalendarUtil
      • 日期构建器-DateBuilder
        • 介绍
        • 主要功能
          • 1. 日期的创建
          • 2. 日期的链式构建
          • 3. 日期的修改
          • 4. 日期字段的获取
          • 5. 日期的增减
          • 6. 日期边界处理
        • 适用场景
      • 日期间隔-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
目录

日期构建器-DateBuilder

# 介绍

DateBuilder是Hutool中用于构建日期对象的工具类,提供了丰富的静态方法来创建和操作日期,支持链式调用,使日期构建更加灵活和便捷。

# 主要功能

# 1. 日期的创建

// 创建当前日期
Date now = DateBuilder.date();

// 创建指定年、月、日的日期
Date date = DateBuilder.date(2023, 12, 25);

// 创建指定年、月、日、时、分、秒的日期
Date date = DateBuilder.date(2023, 12, 25, 18, 30, 45);

// 创建指定年、月、日、时、分、秒、毫秒的日期
Date date = DateBuilder.date(2023, 12, 25, 18, 30, 45, 123);

# 2. 日期的链式构建

// 使用链式调用构建日期
Date date = DateBuilder.create()
    .year(2023)
    .month(12)
    .day(25)
    .hour(18)
    .minute(30)
    .second(45)
    .build();

// 构建当前时间,只设置时分秒
Date time = DateBuilder.create()
    .hour(12)
    .minute(0)
    .second(0)
    .build();

# 3. 日期的修改

// 修改日期的年份
Date newYearDate = DateBuilder.modify(date)
    .year(2024)
    .build();

// 修改日期的月份
Date newMonthDate = DateBuilder.modify(date)
    .month(1)
    .build();

// 修改日期的日
Date newDayDate = DateBuilder.modify(date)
    .day(1)
    .build();

# 4. 日期字段的获取

// 获取年份
int year = DateBuilder.year(date);

// 获取月份(1-12)
int month = DateBuilder.month(date);

// 获取日
int day = DateBuilder.dayOfMonth(date);

// 获取小时
int hour = DateBuilder.hour(date);

// 获取分钟
int minute = DateBuilder.minute(date);

// 获取秒
int second = DateBuilder.second(date);

// 获取毫秒
int millisecond = DateBuilder.millisecond(date);

# 5. 日期的增减

// 增加一年
Date nextYear = DateBuilder.offset(date, DateField.YEAR, 1);

// 减少一个月
Date lastMonth = DateBuilder.offset(date, DateField.MONTH, -1);

// 增加一天
Date tomorrow = DateBuilder.offset(date, DateField.DAY_OF_MONTH, 1);

// 增加一小时
Date nextHour = DateBuilder.offset(date, DateField.HOUR_OF_DAY, 1);

# 6. 日期边界处理

// 获取月份的第一天
Date firstDayOfMonth = DateBuilder.beginOfMonth(date);

// 获取月份的最后一天
Date lastDayOfMonth = DateBuilder.endOfMonth(date);

// 获取周的第一天(周一)
Date firstDayOfWeek = DateBuilder.beginOfWeek(date);

// 获取周的最后一天(周日)
Date lastDayOfWeek = DateBuilder.endOfWeek(date);

// 获取年的第一天
Date firstDayOfYear = DateBuilder.beginOfYear(date);

// 获取年的最后一天
Date lastDayOfYear = DateBuilder.endOfYear(date);

# 适用场景

DateBuilder适用于以下场景:

  • 需要灵活构建日期对象时
  • 需要链式调用构建复杂日期时
  • 需要修改现有日期的某些字段时
  • 需要获取日期的边界值时
  • 需要进行日期字段的增减操作时

通过DateBuilder,开发者可以更加灵活和便捷地构建和操作日期对象,提高代码的可读性和可维护性。

日历工具-CalendarUtil
日期间隔-DateBetween

← 日历工具-CalendarUtil 日期间隔-DateBetween→

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