go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库

简介: carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持

carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。

carbon 目前已捐赠给 dromara 开源组织,已被 awesome-go 收录,并获得 gitee 2024 年最有价值项目(GVP)和 gitcode 2024 年度 G-Star 项目,如果您觉得不错,请给个 star 吧

github.com/dromara/carbon

gitee.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 时自定义输出格式`
目录
相关文章
|
存储 前端开发 JavaScript
Go语言实战案例-项目实战篇:编写一个轻量级在线聊天室
本文介绍如何用Go语言从零实现一个轻量级在线聊天室,基于WebSocket实现实时通信,支持多人消息广播。涵盖前后端开发、技术选型与功能扩展,助你掌握Go高并发与实时通信核心技术。
1127 158
|
Java 编译器 Go
【Golang】(1)Go的运行流程步骤与包的概念
初次上手Go语言!先来了解它的运行流程吧! 在Go中对包的概念又有怎样不同的见解呢?
563 4
|
Java 编译器 Go
【Golang】(5)Go基础的进阶知识!带你认识迭代器与类型以及声明并使用接口与泛型!
好烦好烦好烦!你是否还在为弄不懂Go中的泛型和接口而烦恼?是否还在苦恼思考迭代器的运行方式和意义?本篇文章将带你了解Go的接口与泛型,还有迭代器的使用,附送类型断言的解释
515 3
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
578 2
|
测试技术 Go 开发者
go-carbon v2.6.10发布,轻量级、语义化、对开发者友好的 golang 时间处理库
Carbon 是一个轻量级、语义化的 Golang 时间处理库,支持时间穿越、差值计算、极值判断、星座、农历、儒略日、波斯历等特性。现由开源组织 dromara 维护,获 Gitee 2024 GVP 与 Gitcode G-Star 认可。优化了时间冻结方法、位运算替代条件判断,并新增 Sleep 方法、韩语文档及多项常量,提升性能与易用性。官网与源码详见:carbon.go-pkg.com,GitHub、Gitee、Gitcode 均可访问。
265 2
|
数据采集 监控 Go
用 Go 实现一个轻量级并发任务调度器(支持限速)
本文介绍了如何用 Go 实现一个轻量级的并发任务调度器,解决日常开发中批量任务处理的需求。调度器支持最大并发数控制、速率限制、失败重试及结果收集等功能。通过示例代码展示了其使用方法,并分析了核心组件设计,包括任务(Task)和调度器(Scheduler)。该工具适用于网络爬虫、批量请求等场景。文章最后总结了 Go 并发模型的优势,并提出了扩展功能的方向,如失败回调、超时控制等,欢迎读者交流改进。
673 25
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
860 1
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。

热门文章

最新文章