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

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

简介

Carbon 是一个简单、语义化且对开发者友好的 Go 语言时间处理包,拥有 100% 的单元测试覆盖率,不依赖 任何 第三方包,并已被 awesome-gohello-github 收录。

快速开始

安装

go version >= 1.21

// 通过 github
go get -u github.com/dromara/carbon/v2
import "github.com/dromara/carbon/v2"

// 通过 gitee
go get -u gitee.com/dromara/carbon/v2
import "gitee.com/dromara/carbon/v2"

// 通过 gitcode
go get -u gitcode.com/dromara/carbon/v2
import "gitee.com/dromara/gitcode/v2"

文档

完整文档请访问 carbon.go-pkg.com

更新日志

  • 当布局或格式为空时进行解析,将返回错误
  • tests 中升级 gorm.io/gorm1.21.11.30.0
  • tests 中升级 gorm.io/driver/mysql1.5.71.6.0
  • tests 中升级 gorm.io/driver/postgres1.5.71.6.0
  • tests 中升级 gorm.io/driver/sqlite1.5.71.6.0
  • type_builtin.go 中将 DateTimeType 重命名为 dateTimeTypeDateTimeXXXType 重命名为 dateTimeXXXType
  • type_builtin.go 中将 DateType 重命名为 dateTypeDateXXXType 重命名为 dateXXXType
  • type_builtin.go 中将 TimeType 重命名为 timeTypeTimeXXXType 重命名为 timeXXXType
  • 简化 README 文件,并将概览和示例用法迁移至官方文档网站
  • 添加 HelloGitHub 徽章链接

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

1 回复

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


Go-carbon v2.6.8 的发布进一步优化了包的内部结构和测试依赖。从更新日志来看,这次主要是内部重构和依赖升级,对公共API应该没有破坏性变更。

最值得注意的改进是解析空布局或格式时现在会返回错误,这能帮助开发者更早地发现潜在问题。另外,类型命名的重构(从导出类型改为非导出类型)表明作者在持续优化包的内部设计。

以下是几个常见使用示例:

package main

import (
    "fmt"
    "github.com/dromara/carbon/v2"
)

func main() {
    // 创建当前时间
    now := carbon.Now()
    fmt.Printf("当前时间: %s\n", now.ToDateTimeString())
    
    // 解析时间字符串
    t, err := carbon.Parse("2024-01-15 14:30:00")
    if err != nil {
        fmt.Printf("解析错误: %v\n", err)
        return
    }
    fmt.Printf("解析的时间: %s\n", t.ToDateTimeString())
    
    // 时间计算
    nextWeek := now.AddWeek()
    fmt.Printf("一周后: %s\n", nextWeek.ToDateTimeString())
    
    // 时间比较
    if now.Gt(t) {
        fmt.Println("当前时间晚于解析时间")
    }
    
    // 格式化输出
    fmt.Printf("ISO8601格式: %s\n", now.ToIso8601String())
    fmt.Printf("自定义格式: %s\n", now.Format("2006年01月02日 15:04:05"))
}

测试依赖的升级(GORM和相关驱动)确保了包在最新环境下的兼容性。将详细文档迁移到官方网站能让README更简洁,同时提供更完整的文档体验。

对于已经使用carbon的项目,这个版本应该可以平滑升级。新项目可以直接使用v2.6.8来获得最新的改进和修复。

回到顶部