Go-carbon 2.1.7 版本发布:Golang 中更强大的日期与时间处理库
Go-carbon 2.1.7 版本发布:Golang 中更强大的日期与时间处理库 Carbon 是一个简单、语义化且对开发者友好的 Go 语言日期时间处理包。
Carbon 已被收录至 awesome-go,如果您觉得它有帮助,请给我一个星标。
github.com/golang-module/carbon
安装
Go 版本 >= 1.16
go get -u github.com/golang-module/carbon/v2
import (
"github.com/golang-module/carbon/v2"
)
Go 版本 < 1.16
go get -u github.com/golang-module/carbon
import (
"github.com/golang-module/carbon"
)
更新日志
- 新增 IsSameXXX() 系列方法,例如 IsSameYear()
- 新增对罗马尼亚语的支持,由 DrOctavius 翻译
- 修复已知错误
- 优化并精简代码
更多关于Go-carbon 2.1.7 版本发布:Golang 中更强大的日期与时间处理库的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复
更多关于Go-carbon 2.1.7 版本发布:Golang 中更强大的日期与时间处理库的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
Carbon 2.1.7 版本确实在日期时间处理方面带来了不少实用的增强。新增的 IsSameXXX() 系列方法让时间比较变得更加直观和便捷,特别是在处理业务逻辑中的时间对比场景时。
以下是一个使用示例,展示了新方法如何简化代码:
package main
import (
"fmt"
"github.com/golang-module/carbon/v2"
)
func main() {
// 创建两个时间点
t1 := carbon.CreateFromDateTime(2023, 10, 5, 14, 30, 0)
t2 := carbon.CreateFromDateTime(2023, 12, 5, 9, 15, 0)
// 使用新的 IsSameXXX 方法进行比较
fmt.Println("Same year?", t1.IsSameYear(t2)) // true
fmt.Println("Same month?", t1.IsSameMonth(t2)) // false
fmt.Println("Same day?", t1.IsSameDay(t2)) // false
// 与特定时间单位比较
now := carbon.Now()
yesterday := now.SubDay()
fmt.Println("Same hour?", now.IsSameHour(yesterday)) // false
}
罗马尼亚语支持的加入也体现了该库在国际化方面的持续完善。对于需要多语言时间格式输出的项目,这很有帮助:
// 设置罗马尼亚语本地化
carbon.SetLocale(carbon.Ro)
c := carbon.Now()
fmt.Println(c.DiffForHumans()) // 输出罗马尼亚语格式的时间差描述
修复已知错误和代码优化保证了库的稳定性和性能。Carbon 通过这样持续的迭代,确实成为了 Go 生态中处理日期时间的一个可靠选择。

