生成当天的开始时间和结束时间

private String startTime() {
    LocalDate now = LocalDate.now();  // 获取当前日期
    LocalDate startDay = now.plusDays(0);  // 将当前日期加上 0 天,得到今天
    LocalTime min = LocalTime.MIN;  // 获取一天中最小的时间,即 00:00:00
    LocalDateTime start = LocalDateTime.of(startDay, min);  // 构造当天开始时刻LocalDateTime 对象
    return start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));  // 格式化 LocalDateTime 为字符串并返回
}

private String endTime(){
    LocalDate now = LocalDate.now();
    LocalDate endDay = now.plusDays(2);
    LocalTime max = LocalTime.MAX;
    LocalDateTime end = LocalDateTime.of(endDay, max);
    return end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
  1. 获取当前日期:

    • LocalDate.now() 返回当前系统的日期,不包含时间和时区信息。
    • LocalDate 类表示日期,如 2023-08-27。
  2. 计算今天的日期:

    • now.plusDays(0) 将当前日期加上 0 天,实际上就是获取今天。
    • 这里使用 plusDays(0) 主要是为了保持代码的一致性和清晰性,实际上 now 和 startDay 的值是相同的。
  3. 获取一天的最小时间:

    • LocalTime.MIN 表示一天中最小的时间,即 00:00:00。
  4. 构造当天开始时刻的 LocalDateTime 对象:

    • LocalDateTime.of(startDay, min) 创建一个 LocalDateTime 对象,表示当天的开始时刻,即 startDay 日期加上 min 时间。
  5. 格式化 LocalDateTime 为字符串:

    • DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") 创建一个日期时间格式器,用于将 LocalDateTime 对象格式化为字符串。
    • "yyyy-MM-dd HH:mm:ss" 是日期时间的格式模式,其中:
      • yyyy 表示四位数的年份;
      • MM 表示月份;
      • dd 表示月份中的天数;
      • HH 表示小时(24小时制);
      • mm 表示分钟;
      • ss 表示秒。
    • start.format(formatter) 将 LocalDateTime 对象 start 格式化为字符串,并返回。

示例输出

如果当前日期是 2023 年 8 月 27 日,该方法将返回 "2023-08-27 00:00:00"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值