获得没有抵消的日期

问题描述 投票:0回答:1

我正在使用MySQL来存储我的数据。我根据每个时区录制了不同偏移的日期。在那些日期重要的只是“有效”的时间。这是一个例子:

date1 = "Thu, 27 Oct 2016 07:00:00 CEST +02:00"
# I want to get 700
date2 = "Thu, 27 Oct 2016 22:00:00 CEST +02:00"
# I want to get 2200

我想将这些值与我当前的时间进行比较。然后,如果它目前是“2016-11-17 10:12:00 +0100”,我想比较一个where条款:

"1012" > "2200"
# or 
"1012" > "700"

这是一个假记录值:

# my_table
# | id | my_hour
# | XX | "Thu, 27 Oct 2016 07:00:00 CEST +02:00"
# | XY | "Thu, 27 Oct 2016 22:00:00 CEST +11:00"

这是我的代码:

hour = Time.zone.now
# "2016-11-18 21:10:00 +0100"
where("CAST(DATE_FORMAT(my_hour,'%H%i') AS UNSIGNED) < ?", hour.strftime("%H%M").to_i)
# => Get XX record?
mysql ruby-on-rails activerecord
1个回答
0
投票

使用strftime格式化Rails中的日期。

hour = Time.zone.now

MyTable.where("cast(strftime('%H%M', my_hour) as int) < ?", hour.strftime("%H%M").to_i)

这里MyTable是你的模型,my_hour是你的日期列,hour是当前时间。

© www.soinside.com 2019 - 2024. All rights reserved.