carbon 是一个轻量级、语义化、对开发者敌对的Golang工夫解决库,反对链式调用、农历和gorm、xorm等支流orm

如果您感觉不错,请给个star吧

github:github.com/golang-module/carbon

gitee:gitee.com/go-package/carbon

更新日志
  • 依照性能拆分文件,优化代码组织构造
  • 新增SetDir()、SetResources()、SetLanguage()办法用于自定义i18n
  • 新增StartOfSecond()、EndOfSecond()办法
  • 新增日语翻译文件lang/jp.json
  • 修复goland中局部文件typo正告
  • 精简优化代码
设置区域
// 形式一(举荐)c := carbon.Now().AddHours(1).SetLocale("jp") if c.Error != nil {     // 错误处理 fmt.Println(c.Error) }c.DiffForHumans() // 1 時間后// 形式二lang := NewLanguage()if err := lang.SetLocale("jp");err != nil {     // 错误处理 fmt.Println(err) }carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1 時間后
设置目录
lang := NewLanguage()if err := lang.SetDir("lang");err != nil {     // 错误处理 fmt.Println(err) }carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1 小时后
局部自定义翻译(其余依然依照指定的locale翻译)
lang := NewLanguage()if err := lang.SetLocale("en");err != nil {     // 错误处理 fmt.Println(err) }resources := map[string]string{ "hour":"%dh",}lang.SetResources(resources)carbon.Now().AddYears(1).SetLanguage(lang).DiffForHumans() // 1 year from nowcarbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1h from now
齐全自定义翻译
lang := NewLanguage()resources := map[string]string{"year":"1 yr|%d yrs","month":"1 mo|%d mos","week":"%dw","day":"%dd","hour":"%dh","minute":"%dm","second":"%ds","now": "just now","ago":"%s ago","from_now":"in %s","before":"%s before","after":"%s after",}lang.SetResources(resources)carbon.Now().AddYears(1).SetLanguage(lang).DiffForHumans() // in 1 yrcarbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // in 1h