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()方法獲取一世紀前時間(不跨月)
本作品採用《CC 協議》,轉載必須註明作者和本文連結