您好,欢迎访问一九零五行业门户网

go-carbon1.2.0发布了!完善优化对ORM的多场景支持

下面由golang教程栏目给大家介绍go-carbon 1.2.0 版本,希望对需要的朋友有所帮助!
carbon 是一个轻量级、语义化、对开发者友好的golang时间处理库,支持链式调用和gorm、xrom等主流orm
如果您觉得不错,请给个star吧
github:github.com/golang-module/carbon
gitee:gitee.com/go-package/carbon
安装使用// 使用github库go get -u github.com/golang-module/carbonimport ( "github.com/golang-module/carbon")// 使用gitee库go get -u gitee.com/go-package/carbonimport ( "gitee.com/go-package/carbon")
数据库支持假设数据表为users,字段有id(int)、name(varchar)、age(int)、graduated_at(date)、birthday(date)、created_at(datetime)、updated_at(datetime)、deleted_at(datetime)
定义模型type usermodel struct { id int64 `json:"id"` name string `json:"name"` age int `json:"age"` birthday carbon.carbon `json:"birthday"` createdat carbon.todatetimestring `json:"created_at"` deletedat carbon.totimestamp `json:"deleted_at"` graduatedat carbon.todatestring `json:"graduated_at"` updatedat carbon.totimestring `json:"updated_at"`}
实例化模型user := usermodel { name: "勾国印", age: 18, birthday: carbon.now().subyears(18), createdat: carbon.todatetimestring{carbon.now()}, deletedat: carbon.totimestamp{carbon.parse("2020-08-05 13:14:15")}, graduatedat: carbon.todatestring{carbon.parse("2012-09-09")}, updatedat: carbon.totimestring{carbon.now()},}
输出模型字段user.id // 18user.name // 勾国印user.birthday.todatestring() // 2012-08-05user.createdat.totimestamp() // 2012-08-05 13:14:15user.deletedat.todatetimestring() // 1596604455user.graduatedat.addday().todatestring() // 2012-09-10user.updatedat.todatestring() // 2012-08-05
json输出模型data, _ := json.marshal(&user)fmt.print(string(data))// 输出{ "id": 42, "name": "勾国印", "age": 18, "birthday": "2012-08-05 00:00:00", "created_at": "2020-08-05 13:14:15", "deleted_at": 1596604455 "graduated_at": "2012-09-09", "updated_at": "13:14:15",}
更新日志完善单元测试,代码覆盖率100%完善优化对orm的多场景支持新增英文版readme.md说明文档统一异常处理统一输出函数命名规则,将format() 改为 toformatstring()新增createfromgotime(t time.time)方法从原生time.time创建carbon实例优化代码组织结构,将不可继承的最终方法统一放到final.go文件里废弃new()初始化函数,无需初始化即可直接使用新增多种时间格式输出,如cookie、w3c、rss、rfc7231新增parsebyduration()方法解析持续时间字符串(相对于今天),支持正负整数/浮点数和符号ns(纳秒)、us(微妙)、ms(毫秒)、s(秒)、m(分钟)、h(小时)的组合新增nextyears()、nextyear()、preyears()、preyear()方法防止出现添加/减少指定年时出现跨月的现象新增nextmonths()、nextmonth()、premonths()、premonth()方法防止出现添加/减少指定月后出现跨月的现象新增daysinyear()方法获取本年的总天数新增daysinmonth()方法获取本月的总天数新增monthofyear()方法获取本年的第几月新增dayofyear()方法获取本年的第几天新增dayofmonth()方法获取本月的第几天新增dayofweek()方法获取本周的第几天新增weekofyear()方法获取本年的第几周新增weekofmonth()方法获取本月的第几周新增iszero()方法判断是否是零值时间新增isfuture()方法判断是否是未来时间新增ispast()方法判断是否是过去时间新增isnow()方法判断是否是当前时间以上就是go-carbon1.2.0发布了!完善优化对orm的多场景支持的详细内容。
其它类似信息

推荐信息