go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

163 天前
 gouguoyin

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"
更新日志
1528 次点击
所在节点    Go 编程语言
28 条回复
Masoud2023
163 天前
这 api 做的真好看, 赞
zyxk
163 天前
很不错, 说明很清晰,虽然还没用过
fgwmlhdkkkw
163 天前
Add(amount int, unit Unit)
Sub(amounr int, unit Unit)
pkoukk
163 天前
提一个小小的需求:希望有个 API 可以提供,指定 time 的这个月,有多少天。
gouguoyin
163 天前
@fgwmlhdkkkw 这样处理会面临溢出问题,有些方法是需要处理月份是否溢出问题,比如 `2023-01-31`,增加一个月,就需要考虑是否跨月。目前是分成两类方法,如 `AddMonths` 和 `AddMonthsNoOverflow`
```go
carbon.Parse("2020-01-31 13:14:15").AddMonth().ToDateTimeString() // 2020-03-02 13:14:15

carbon.Parse("2020-01-31 13:14:15").AddMonthNoOverflow().ToDateTimeString() // 2020-02-29 13:14:15
```
gouguoyin
163 天前
@pkoukk 已有,更多查看文档 https://github.com/golang-module/carbon#getter

carbon.Parse("2020-02-01 13:14:15").DaysInMonth() // 29
carbon.Parse("2020-04-01 13:14:15").DaysInMonth() // 30
carbon.Parse("2020-08-01 13:14:15").DaysInMonth() // 31
gouguoyin
163 天前
@pkoukk 还有指定年有多少天的方法 DaysInYear
pkoukk
163 天前
@gouguoyin #6 棒!
sakuramanstein
163 天前
为啥叫 carbon ,最近需求时间处理有点多,正好看看
RedisMasterNode
163 天前
已 star 建议补充 benchmark
lesismal
163 天前
@sakuramanstein #9

我猜是因为 “碳同位素定年法”
fgwmlhdkkkw
163 天前
@gouguoyin #5 至少提供这样的通用接口,剩下的是用户的责任。
CEBBCAT
163 天前
感谢分享,看到两边 go.mod 的 package 是不同的,是手动维护的吗?或者用脚本替换?
ruooooooli
163 天前
为啥我这样引入不了
ruooooooli
163 天前
手残按错了,补充下问题

import "github.com/golang-module/carbon/v2"

我的版本是:go version go1.18.10 darwin/arm64
gouguoyin
163 天前
@CEBBCAT 两边 go.mod 的 package 是不同的?那两边?
gouguoyin
163 天前
@RedisMasterNode 后面会补充的
CEBBCAT
163 天前
CEBBCAT
162 天前
@ruooooooli #15 我 go get github.com/golang-module/carbon/v2 可以的,你那边报什么错误?
moell
162 天前
@sakuramanstein PHP 有个 composer 包叫 carbon ,非常好用,API 参考了

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

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

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

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

© 2021 V2EX