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 生态中处理日期时间的一个可靠选择。

回到顶部