【发布时间】:2019-02-27 09:07:30
【问题描述】:
我有一个 jsonb 字段,用于存储令牌过期日期,如下所示:
user.token = {token_expires: Time.now.utc}
user.save
当我这样做时
user.token['token_expires']
=> "2018-09-23T18:21:58.010Z"
结果是 2018-09-23T18:21:58.010Z
如果我在控制台中检查当前日期时间
Time.now.utc
=> 2018-09-23 19:06:20 UTC
结果是 2018-09-23 19:06:20 UTC
现在的问题是当我尝试运行以下请求时:
User.where("""users.token ->> 'token_expires' <= :current_time""",
current_time: Time.now.utc).pluck(:id)
=> [] # returns an empty array/result
所以令牌过期日期是 2018-09-23T18:21:58.010Z 并且当前日期时间是 2018-09-23 19:06:20 UTC 但是在请求中,当我尝试获取拥有token_expires < Time.now.utc 的用户时,我什么也没得到!期望得到我第一次创建的用户
【问题讨论】:
-
从日期时间检查中删除时区stackoverflow.com/questions/9132337/…