type LocalTime struct {
time.Time
}
func (t LocalTime) MarshalJSON() ([]byte, error) {
//格式化秒
// seconds := t.Unix()
// return []byte(strconv.FormatInt(seconds, 10)), nil
formatted := fmt.Sprintf("\"%v\"", time.Time(t.Time).Format("2006-01-02 15:04:05"))
return []byte(formatted), nil
}
func (t LocalTime) Value() (driver.Value, error) {
var zeroTime time.Time
if t.Time.UnixNano() == zeroTime.UnixNano() {
return nil, nil
}
return t.Time, nil
}
func (t *LocalTime) Scan(v interface{}) error {
value, ok := v.(time.Time)
if ok {
*t = LocalTime{Time: value}
return nil
}
return fmt.Errorf("can not convert %v to timestamp", v)
}
go 数据库时间处理
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 注意:canal使用java写的,需要安装jdk环境 canal介绍安装 说明 canal是阿里开源的监控数据库增...
- 版权声明:本文为作者原创书籍。转载请注明作者和出处,未经授权,严禁私自转载,侵权必究!!! 情感语录: 生活本来就...