carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
carbon 目前已捐赠给 [dromara](https://dromara.org/ "dromara") 开源组织,已被 [awesome-go]( https://github.com/avelino/awesome-go#date-and-time "awesome-go") 收录,并获得 [gitee](https://gitee.com "gitee") 2024 年最有价值项目([GVP](https://gitee.com/gcp "GVP"))和 [gitcode](https://gitcode.com "gitcode") 2024 年度 [G-Star](https://gitcode.com/g-star "G-Star") 项目,如果您觉得不错,请给个 star 吧
[github.com/dromara/carbon]( https://github.com/dromara/carbon "github.com/dromara/carbon")
[gitee.com/dromara/carbon]( https://gitee.com/dromara/carbon "gitee.com/dromara/carbon")
[gitcode.com/dromara/carbon]( https://gitcode.com/dromara/carbon "gitcode.com/dromara/carbon")
#### 更新日志
- `golang` 最低版本依赖升级到 `1.18`
- `carbon`, `julian`, `lunar`, `persian` 从值传递改成指针传递
- 新增 `ZoneName` 方法获取时区名称
- 新增 `HasError` 方法判断是否有错误
- 新增 `IsNil` 方法判断是否是 `nil`
- 新增 `Copy` 方法对 `carbon` 进行深度复制
- 新增 `WeekStartsAt` 方法获取周起始日期
- 新增示例文件 `xxx_example.go`
- 新增`constant.go` 文件,将常量从 `carbon.go` 文件迁移到此文件
- 默认全局时区从 `Local` 更改为 `UTC`
- `Offset` 方法更名为 `ZoneOffset`
- `IsSetTestNow` 方法更名为 `IsTestNow`
- `UnSetTestNow ` 方法更名为 `CleanTestNow`
- 移除 `Location` 方法,由 `Timezone` 方法替代
- 更改 `IsValid` 和 `IsInvalid` 方法判断逻辑,`zero time` 不再视为无效时间
- 设置全局默认时区时同步更新 `time.Local`
- 重构 `database.go`,移除 `carbon.DateTime`、`carbon. DateTimeMilli `、 `carbon.DateTimeMicro`、`carbon.DateTimeNano`、 `carbon. Date`、`carbon.DateMilli`、 `carbon.DateMicro`、 `carbon.DateNano`、 `carbon.Time`、 `carbon.TimeMilli`、 `carbon.TimeMicro`、 `carbon.TimeNano`、`carbon.Timestamp` 、`carbon.TimestampMilli ` 、`carbon.TimestampMicro`、`carbon.TimestampNano` 字段类型, 使用泛型字段替代以实现 `MarshalJSON/UnmarshalJSON` 时自定义输出格式
有疑问加站长微信联系(非本文作者)
