Go-carbon v2.2.2 发布:简单、语义化且开发者友好的 Golang 日期时间处理包

Go-carbon v2.2.2 发布:简单、语义化且开发者友好的 Golang 日期时间处理包 Carbon 是一个简单、语义化且对开发者友好的 Golang 日期时间包。

Carbon 已被 awesome-go 收录,如果您觉得它有帮助,请给我一个 star。

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"
)
更新日志
  • 修复 Unmarshal 错误 #161
  • 修复 RFC7231Layout 输出错误
  • 为 Parse() 方法添加对 now、yesterday 和 tomorrow 的解析支持
  • 添加时区常量
  • 添加泰语支持 #159
  • 添加法语支持 #158
  • 添加马来语支持 #157

更多关于Go-carbon v2.2.2 发布:简单、语义化且开发者友好的 Golang 日期时间处理包的实战教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Go-carbon v2.2.2 发布:简单、语义化且开发者友好的 Golang 日期时间处理包的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


Go-carbon v2.2.2 的发布进一步增强了其在日期时间处理方面的能力。新版本修复了关键错误并扩展了多语言支持,使其在国际化场景中更具实用性。

示例代码演示了新功能的使用:

package main

import (
    "encoding/json"
    "fmt"
    "github.com/golang-module/carbon/v2"
)

func main() {
    // 1. 修复后的Unmarshal使用
    jsonStr := `"2023-10-01 12:00:00"`
    var c carbon.Carbon
    json.Unmarshal([]byte(jsonStr), &c)
    fmt.Println("Unmarshal结果:", c.ToDateTimeString())
    
    // 2. 新的解析支持
    now := carbon.Parse("now")
    yesterday := carbon.Parse("yesterday")
    tomorrow := carbon.Parse("tomorrow")
    
    fmt.Println("现在:", now.ToDateTimeString())
    fmt.Println("昨天:", yesterday.ToDateTimeString())
    fmt.Println("明天:", tomorrow.ToDateTimeString())
    
    // 3. 时区常量使用
    fmt.Println("东京时间:", carbon.Now(carbon.Tokyo).ToDateTimeString())
    fmt.Println("巴黎时间:", carbon.Now(carbon.Paris).ToDateTimeString())
    
    // 4. 多语言支持
    carbon.SetLocale(carbon.French)
    fmt.Println("法语月份:", carbon.Now().Month().ToMonthString())
    
    carbon.SetLocale(carbon.Thai)
    fmt.Println("泰语星期:", carbon.Now().Weekday().ToWeekString())
}

RFC7231Layout的修复确保了HTTP日期时间格式的正确输出:

func main() {
    c := carbon.Parse("2023-10-01 12:00:00")
    fmt.Println("RFC7231格式:", c.ToRfc7231String())
    // 输出: Sun, 01 Oct 2023 12:00:00 GMT
}

马来语支持的使用示例:

func main() {
    carbon.SetLocale(carbon.Malay)
    c := carbon.Parse("2023-10-01")
    fmt.Println("马来语月份:", c.Month().ToMonthString())
    fmt.Println("马来语星期:", c.Weekday().ToWeekString())
}

这些改进使go-carbon在解析灵活性、时区处理和多语言支持方面更加完善。

回到顶部