go-carbon v2.6.13 发布,一个轻量级、语义化的 golang 时间处理库

9 天前
 gouguoyin

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

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

document: carbon.go-pkg.com

github: github.com/dromara/carbon

gitee: gitee.com/dromara/carbon

gitcode: gitcode.com/dromara/carbon

更新内容
1087 次点击
所在节点    Go 编程语言
11 条回复
Ipsum
9 天前
点赞
iseki
9 天前
有没有实现了 threeten 模型的时间库?本来想自己搓一个,但是太麻烦了,工作量很大。
gouguoyin
9 天前
@iseki 你说的是 java 的 ThreeTen-Extra 扩展么
iseki
9 天前
@gouguoyin java.time ,包括基础部分,如果有扩展部分更好
gouguoyin
9 天前
@iseki 我查了下,目前 carbon 已经有 ThreeTen 的绝大部分功能,不知道你还缺什么功能
iseki
9 天前
@gouguoyin 我没看到你和 ThreeTen 对标的类型定义啊,类似 Instant LocalDateTime LocalDate ZonedDateTime 这样的东西。
gouguoyin
9 天前
@iseki golang 不是完全面向对象的,不能完全按照 java 的模式去开发 golang 库,能实现同样的功能就可以
gouguoyin
9 天前
@iseki carbon 提供了 SetTimezone 方法来方便切换时区,如
carbon.Parse("2020-08-05 13:14:15").SetTimezone(carbon.PRC).ToString() // 2020-08-05 21:14:15 +0800 CST
iseki
9 天前
@gouguoyin 唔,不行,区分类型的一个目的是类型安全。
比如我的函数入参是一个 Instant ,代表我不关心除绝对时间点之外的任何信息;如果入参是一个 LocalDate ,意味着我只接受一个日期,时间点该如何转换为当地日期是调用者需要考虑到事情。
你这样的设计完全无法表达这个语义。
dandankele
8 天前
才发现 dromara 社区有那么多熟悉的项目..这是个什么神奇的组织
gouguoyin
8 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1165801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX