You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何为LocalDate获取的上周起始日期添加HH:MM:SS格式

解决方案

你想要的是上周起始日期(周一)的00:00:00时间点,用LocalDateTime实现的话可以这么写:

方式一:基于原逻辑调整(贴合原有代码)

LocalDateTime beginDateTime = LocalDate.now()
        .with(ChronoField.DAY_OF_WEEK, 1)
        .minusDays(8)
        .atStartOfDay();

逻辑说明:先按原逻辑算出上周周一的LocalDate,再通过LocalDate的atStartOfDay()方法直接得到当天0点整的LocalDateTime,自带00:00:00的时间格式。

方式二:直接用LocalDateTime处理(语义更清晰)

LocalDateTime beginDateTime = LocalDateTime.now()
        .with(ChronoField.DAY_OF_WEEK, 1)
        .with(ChronoField.HOUR_OF_DAY, 0)
        .with(ChronoField.MINUTE_OF_HOUR, 0)
        .with(ChronoField.SECOND_OF_MINUTE, 0)
        .minusWeeks(1);

逻辑说明:LocalDateTime本身包含时间部分,所以没有atStartOfDay()方法,直接把时分秒设为0,再减去一周,就能得到上周周一的0点整时间。

内容的提问来源于stack exchange,提问作者sgsg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:55:32