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

如何获取LocalDateTime当前时间往前推一个月的日期时间

你需要先对LocalDateTime实例做日期运算,再格式化为字符串,不要先转成字符串再处理,会大大增加复杂度。
Java 8+的LocalDateTime自带了minusMonths()方法,直接传入1即可得到当前时间对应的一个月前的时间,完整代码示例如下:

// 建议将格式化器抽为全局常量复用,避免重复创建
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");

LocalDateTime now = LocalDateTime.now();
// 计算一个月前的时间
LocalDateTime oneMonthAgo = now.minusMonths(1);

// 分别格式化当前时间和一个月前的时间为字符串
String nowStr = now.format(formatter);
String oneMonthAgoStr = oneMonthAgo.format(formatter);

补充说明:

  • 你原代码里的格式串dd.MM.yyyy HH:ss:mm是把秒和分钟的位置写反了,正常时分秒的顺序是HH:mm:ss,如果你的业务确实需要这个特殊顺序可以自行调整格式串。
  • minusMonths()方法会自动处理月末边界场景:比如当前时间是3月31日,减去1个月会自动适配为2月的最后一天(闰年29号,平年28号),不需要额外做日期合法性校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:36:00