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

关于java.time.DayOfWeek与Month增减方法文档用词的疑问

关于java.time.DayOfWeek和Month类加减方法文档描述差异的解释

本质原因:两类的语义边界完全不同

  • java.time.DayOfWeek 是一周内的日期枚举,只对应周一到周日这7天,它的循环边界是“周”,和“年”根本不沾边。
  • java.time.Month 是一年内的月份枚举,对应1到12月,循环边界自然是“年”。

DayOfWeek文档的表述问题

你看到的DayOfWeek.minus(long)里“绕回年份的起始点”绝对是翻译失误——实际逻辑是周内循环:比如周一减1天就是周日,周日加1天就是周一,所有操作都只会在一周的7天里转圈,和年份没有任何关系。文档里的“年份”明显是翻译时混淆了概念,应该和plus()方法描述的“绕回周的结束点”对应起来才对。

Month类的逻辑为啥用“year”

Month的加减本来就是针对年份内的月份循环,比如1月减1就到12月(上一年的最后一个月),12月加1就到1月(下一年的第一个月),用“year”作为边界描述完全符合它的语义,和DayOfWeek的周内循环逻辑是一个道理,只是范围从“周”变成了“年”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 21:54:52