之前写的, JSR-310 风格的时间日期库, 1.0 了

iseki · 2025-12-17 16:15:01 · 227 次点击

整体遵守 JSR-310 风格,针对 Go 的语法特点做了必要的适配。

所有的变更操作采用链式调用,被折叠的链式调用错误会增加必要的诊断信息,以便快速找到具体失败的操作位置,比如:

result, err := dt.Chain().PlusMonths(1).WithDayOfMonth(32).GetResult()
// 错误文本 "goda: invalid value of DayOfMonth...: 32 at LocalDate/WithDayOfMonth"

目前还缺乏的功能,接下来会加上的功能:

  • ZonedDateTime;
  • 基于 Temporal 的加减运算;
  • Duration/Period;

项目: https://github.com/iseki0/goda

举报· 227 次点击
登录 注册 站外分享
1 条回复  
iseki 楼主 小成 2025-12-17 16:41:26
时间有效表达范围:-2^48~2^48-1 年,精度纳秒,足以装下 time/Time 的表达范围,但这超出了 int64 可表达的 UNIX 时间戳范围,超出范围的情况可以通过 TemporalValue 的 overflow 探测到。
返回顶部