go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。
目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧
github.com/golang-module/carbon
gitee.com/golang-module/carbon
安装使用
Golang 版本大于等于 1.16
// 使用 github 库
go get -u github.com/golang-module/carbon/v2
import "github.com/golang-module/carbon/v2"
// 使用 gitee 库
go get -u gitee.com/golang-module/carbon/v2
import "gitee.com/golang-module/carbon/v2"
Golang 版本小于 1.16
// 使用 github 库
go get -u github.com/golang-module/carbon
import "github.com/golang-module/carbon"
// 使用 gitee 库
go get -u gitee.com/golang-module/carbon
import "gitee.com/golang-module/carbon"
更新日志
修复 ToWeekString 和 ToShortWeekString 方法忽略 SetWeekStartsAt 设置的 bug
增加 Parse 方法更多解析格式的支持
将 timezone[len(timezone)-1] 更改为 timezone[0]
提高 Fastest 方法的单元测试覆盖率
修复文档拼写错误
这 api 做的真好看, 赞
很不错, 说明很清晰,虽然还没用过
Add(amount int, unit Unit) Sub(amounr int, unit Unit)
提一个小小的需求:希望有个 API 可以提供,指定 time 的这个月,有多少天。
这样处理会面临溢出问题,有些方法是需要处理月份是否溢出问题,比如 2023-01-31
,增加一个月,就需要考虑是否跨月。目前是分成两类方法,如 AddMonths
和 AddMonthsNoOverflow
`gocarbon.Parse("2020-01-31 13:14:15").AddMonth().ToDateTimeString() // 2020-03-02 13:14:15carbon.Parse("2020-01-31 13:14:15").AddMonthNoOverflow().ToDateTimeString() // 2020-02-29 13:14:15
`
已有,更多查看文档 github.com/golang-module/carbon#gettercarbon.Parse("2020-02-01 13:14:15").DaysInMonth() // 29carbon.Parse("2020-04-01 13:14:15").DaysInMonth() // 30carbon.Parse("2020-08-01 13:14:15").DaysInMonth() // 31
还有指定年有多少天的方法 DaysInYear
#6 棒!
为啥叫 carbon ,最近需求时间处理有点多,正好看看
已 star 建议补充 benchmark
#9我猜是因为 “碳同位素定年法”
#5 至少提供这样的通用接口,剩下的是用户的责任。
感谢分享,看到两边 go.mod 的 package 是不同的,是手动维护的吗?或者用脚本替换?
为啥我这样引入不了
手残按错了,补充下问题import "github.com/golang-module/carbon/v2"我的版本是:go version go1.18.10 darwin/arm64
两边 go.mod 的 package 是不同的?那两边?
后面会补充的
#16 记错了,是 module这两个页面 github.com/golang-module/carbon/blob/ede8903c662ec9cb23a989e3b2c396a8717814a6/go.mod gitee.com/golang-module/carbon/blob/9465ee4/go.mod的这两个 modulemodule github.com/golang-module/carbon/v2module gitee.com/golang-module/carbon/v2
#15 我 go get github.com/golang-module/carbon/v2 可以的,你那边报什么错误?
PHP 有个 composer 包叫 carbon ,非常好用,API 参考了
#9 目测是 PHP 转 GO 的,Carbon 在 PHP 这边是一个很知名的包。大致看了一下 API ,几乎都一样了。原包下面提到来自:Radiocarbon dating - Wikipedia en.wikipedia.org/wiki/Radiocarbon_dating?useskin=vector
#19 go get -u github.com/golang-module/carbon/v2cannot find package "github.com/golang-module/carbon/v2" in any of: /opt/homebrew/Cellar/[email protected]/1.18.10/libexec/src/github.com/golang-module/carbon/v2 (from $GOROOT) /Users/zk/Work/code/go/src/github.com/golang-module/carbon/v2 (from $GOPATH)难道是要开启 gomodule 么
不同地址就是不同的包,但是 api 都一样,gitee 只是为了方便国内用户使用。
必须开启 go module
#24 😄好的我试下
go 从 1.11 后就开始使用 module 作为唯一包管理工具
#23 明白
对安卓、路由等设备不熟,按我对 PC 的理解,它们的所有数据不都是存储在 emmc 中吗,难道没有一种方法能完整转储 emmc 吗,这样一来,无论怎么刷,只要把转储数据写回去,…
用的荣耀笔记本,款式较新,没有 S3 ,只有现代待机 有一段时间突然发现每次从上课的地方回到宿舍电脑就会休眠(需要重新开机,但是打开的软件和窗口还在) 查了一下日志,说是“系统…
你正在找一些高质量的Linux 和 UNIX 的教程吗?如果是,这篇文章会告诉你到哪去找到这些教程。这里我们将给出超过30个相当的不错的 Linux 和 UNIX 在线的教程。…