go-carbon 1.3.0 版本发布,新增 XXXNoOverflow() 系列方法

carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用、农历和gorm、xorm等主流orm

如果您觉得不错,请给个 star 吧
github:github.com/golang-module/carbon
gitee:gitee.com/go-package/carbon

更新日志

  • 新增AddXXXNoOverflow()和SubXXXNoOverflow()系列方法处理月份溢出问题
  • 新增ParseByLayout()方法,将布局时间字符串解析成 Carbon 实例
  • CreateFromGoTime()更名为Time2Carbon(),作用是将 time.Time 转换成 Carbon
  • ToGoTime()更名为Carbon2Time(),作用是将 Carbon 转换成 time.Time
  • 优化Format()方法,增加对\\符号支持,表示原样输出不解析
  • 优化Format()方法,增加对S符号的支持,表示月份中的第几天,英文缩写后缀,如st、nd、rd、th,一般和j配合使用
  • 优化解析异常时的错误文案
  • 优化精简两个时间大小判断逻辑代码
    // 一年后
    carbon.Parse("2020-02-29 13:14:15").AddYear().ToDateTimeString() // 2021-03-01 13:14:15
    // 一年后(月份不溢出)
    carbon.Parse("2020-02-29 13:14:15").AddYearNoOverflow().ToDateTimeString() // 2021-02-28 13:14:15
    
    // 原样输出不解析
    carbon.Parse("2020-08-05 13:14:15").Format("l jS \\o\\f F Y h:i:s A") // Wednesday 5th of August 2020 01:14:15 PM
    
    // 将布局时间字符串解析成 Carbon 实例
    carbon.ParseByLayout("It is 2020-08-05 13:14:15", "It is 2006-01-02 15:04:05").ToDateTimeString // 2020-08-05 13:14:15
    
    // 将 time.Time 转换成 Carbon
    carbon.Time2Carbon(time.Now())
    // 将 Carbon 转换成 time.Time
    carbon.Now().Carbon2Time() 或 carbon.Now().Time
    
    
    

猜你喜欢

转载自www.oschina.net/news/128706/go-carbon-1-3-0-released