为了账号安全,请及时绑定邮箱和手机立即绑定

go - 从 RethinkDB 获取时间

go - 从 RethinkDB 获取时间

Go
呼唤远方 2021-12-27 15:29:04
我Quote在 Go 中有一个结构type Quote struct{    CreatedAt int64 `gorethink:"createdAt"`    // Other fields...}我写信从 RethinkDB 查询数据并成功result,err:=r.Table("quote").GetAll(ids...).Run(session)defer result.Close()        if err!=nil{            fmt.Println(err)        }        var quotes []Quote        err=result.All(&quotes)它确实得到了真实的结果,但没有任何记录在CreatedAt字段中具有价值。我createdAt在数据库中使用的时间格式是自 UTC 纪元以来的毫秒数,我打算将它们用作数字来计算我阅读了 GoDocs 并发现:func (t Time) Unix() int64所以我认为int64这是正确的类型CreatedAt,但它没有用。我该怎么办?如何获取时间数据?time.Time也不行。如果time.Time使用,则结果始终为0001-01-01 00:00:00 +0000 UTC(0如果转换为毫秒,则为类似值)因为当我在 NodeJS 中构建我使用的相同服务器时Date.Now(),在这种情况下我需要寻找一个等效类型,它返回一个数字供我计算后面的过程
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

使用gorethink 时,驱动程序将自动与 GO 的本机数据类型相互转换。更改您的结构以使用time.Time:


type Quote struct{

    CreatedAt   time.Time  `gorethink:"created_at"`

}

如需更多示例,您可以查看相应的测试用例。


查看完整回答
反对 回复 2021-12-27
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我设法自己找到了答案。在这种情况下使用 True 类型是float64为了使获取的结果与数据库资源管理器中的匹配(例如,1458184908597毫秒)


查看完整回答
反对 回复 2021-12-27
  • 2 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号