跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • gorm 扫描日期获取结果为零值
未分類
14 4 月 2021

gorm 扫描日期获取结果为零值

gorm 扫描日期获取结果为零值

資深大佬 : marcosteam 5

程序代码如下:

type CheckInStatus struct {  ExpTime time.Time  LastCheckTime time.Time  TransferEnable int64 } ... database.Db.  Debug().  Table("users").  Select("expire_time,last_check_in_time,transfer_enable").  Where("id = ?",uid).  Scan(&checkInStatus)  

扫描出来的结果是

2021/04/04 20:52:49 0001-01-01 00:00:00 +0000 UTC 2021/04/04 20:52:49 0001-01-01 00:00:00 +0000 UTC 2021/04/04 20:52:49 257949696 

gorm 成功获取到了数据,但是没有将日期解析为正确的值… 已经在数据库连接 URL 中设置了 &parseTime=True&loc=Local

大佬有話說 (3)

  • 資深大佬 : mogg

    名字对不上,要么在结构体里声明列名,比如 ExpTime time.Time `gorm:”column:expire_time”`,要么 select 的时候用一下 as,Select(“expire_time as exp_time ……

  • 資深大佬 : toomlo

    “`golang
    type TimeN struct {
    time.Time
    }

    type (t TimeN) String() string{
    return t.Format(`2006-01-02 15:04:05`)
    }

    type CheckInStatus struct {
    ExpTime TimeN
    LastCheckTime TimeN
    TransferEnable int64
    }
    “`

    如果你需要将 CheckInStatus 这个结构的实例 json 格式化的话 还需要重写 Time 的 MarshalJSON 和 UnmarshalJSON 方法

  • 主 資深大佬 : marcosteam

    @mogg 已经解决,感谢!

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具