carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用、农历和gorm、xorm等主流orm
如果您觉得不错,请给个star吧
github:github.com/golang-module/carbon
gitee:gitee.com/go-package/carbon
错误处理
如果有多个错误发生,只返回第一个错误信息,前一个错误排除后才返回下一个错误信息
场景一
c := carbon.SetTimezone(PRC).Parse("123456")
if c.Error != nil {
// 错误处理... fmt.Println(c.Error)}
fmt.Println(c.ToDateTimeString())
// 输出
the value "123456" and layout "2006-01-02 15:04:05" don't match
场景二
c := carbon.SetTimezone("XXXX").Parse("2020-08-05")
if c.Error != nil {
// 错误处理... fmt.Println(c.Error)}
fmt.Println(c.ToDateTimeString())
// 输出
invalid timezone "XXXX", please see the $GOROOT/lib/time/zoneinfo.zip file for all valid timezone
场景三
c := carbon.SetTimezone("XXXX").Parse("12345678")
if c.Error != nil {
// 错误处理... fmt.Println(c.Error)}
fmt.Println(c.ToDateTimeString())
// 输出
invalid timezone "XXXX", please see the $GOROOT/lib/time/zoneinfo.zip file for all valid timezone
建议使用SetTimezone()、Parse()、ParseByFormat()、ParseByDuration()、AddDuration()、SubDuration()等方法时先进行错误处理判断,除非你能确保传入参数无误
更新日志
- 更新readme.md文档
- 完善单元测试代码覆盖率
- carbon结构体的Loc私有属性改成Loc公开属性
- carbon结构体新增Error公开属性
- 优化错误处理机制,弃用出错直接panic的粗暴处理方式
- 新增AddCenturies()方法获取N世纪后时间
- 新增AddCentury()方法获取一世纪后时间
- 新增SubCenturies()方法获取N世纪前时间
- 新增SubCentury()方法获取一世纪前时间
- 新增NextCenturies()方法获取N世纪后时间(不跨月)
- 新增NextCentury()方法获取一世纪后时间(不跨月)
- 新增PreCenturies()方法获取N世纪前时间(不跨月)
- 新增PreCentury()方法获取一世纪前时间(不跨月)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。