A simple, semantic and developer-friendly time package for golang
, 100%
unit test coverage, doesn't depend on any
third-party package and has been included by awesome-go and hello-github
go version >= 1.21
// By github
go get -u github.com/dromara/carbon/v2
import "github.com/dromara/carbon/v2"
// By gitee
go get -u gitee.com/dromara/carbon/v2
import "gitee.com/dromara/carbon/v2"
// By gitcode
go get -u gitcode.com/dromara/carbon/v2
import "gitee.com/dromara/gitcode/v2"
Carbon
was donated to the dromara organization, the repository URL has changed. If
the previous repository used was golang-module/carbon
, please replace the original repository with the new repository
in go.mod
, or execute the following command:
go mod edit -replace github.com/golang-module/carbon/v2 = github.com/dromara/carbon/v2
Default timezone is UTC
, language locale is English
, start day of the week is Monday
and weekend days of the week
are Saturday
and Sunday
.
carbon.SetTestNow(carbon.Parse("2020-08-05 13:14:15.999999999"))
carbon.IsTestNow() // true
carbon.Now().ToString() // 2020-08-05 13:14:15.999999999 +0000 UTC
carbon.Yesterday().ToString() // 2020-08-04 13:14:15.999999999 +0000 UTC
carbon.Tomorrow().ToString() // 2020-08-06 13:14:15.999999999 +0000 UTC
carbon.Parse("2020-08-05 13:14:15").ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.Parse("2022-03-08T03:01:14-07:00").ToString() // 2022-03-08 10:01:14 +0000 UTC
carbon.ParseByLayout("It is 2020-08-05 13:14:15", "It is 2006-01-02 15:04:05").ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.ParseByFormat("It is 2020-08-05 13:14:15", "\\I\\t \\i\\s Y-m-d H:i:s").ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.CreateFromDate(2020, 8, 5).ToString() // 2020-08-05 00:00:00 +0000 UTC
carbon.CreateFromTime(13, 14, 15).ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.CreateFromDateTime(2020, 8, 5, 13, 14, 15).ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.CreateFromTimestamp(1596633255).ToString() // 2020-08-05 13:14:15 +0000 UTC
carbon.Parse("2020-07-05 13:14:15").DiffForHumans() // 1 month before
carbon.Parse("2020-07-05 13:14:15").SetLocale("zh-CN").DiffForHumans() // 1 月前
carbon.ClearTestNow()
carbon.IsTestNow() // false
For full documentation, please visit carbon.go-pkg.com
- briannesbitt/carbon
- nodatime/nodatime
- jinzhu/now
- goframe/gtime
- jodaOrg/joda-time
- arrow-py/arrow
- moment/moment
- iamkun/dayjs
Thanks to all the following who contributed to Carbon
:
Carbon
is a non-commercial open source project. If you want to support Carbon
, you can buy a cup of coffee for developer.
Carbon
had been being developed with GoLand under the free JetBrains Open Source license, I would like to express my
thanks here.
Carbon
is licensed under the MIT
License, see the LICENSE file for details.