【发布时间】:2019-02-28 04:18:39
【问题描述】:
我正在尝试编写一个采用今天日期的方法,如果提供的日期介于 2018 年 DST 日期之间(如果日期是 03/11/18 2:00am 和 11/04/18 2:00am,则 DST 为真),然后它将返回下一个相应 DST 更改的日期。
我实际上不知道如何处理这个问题,除了获取提供的日期并围绕它编写一个案例陈述,遍历提供的日期的给定年份。并且每个时间持有不同的年份
# method to take todays date and if the date falls in between DST dates,
# then the method will return the date of the next DST change
def dst_date_change(date)
return case
when date.include? ='2018'
if (date > Time.parse('March 11, 2018 2:00am') && (date < Time.parse('November 4, 2018 2:00am'))
end
when date.include? ='2019'
if
end
when date.include? ='2020'
if
end
when date.include? ='2020'
if
end
else
这是我目前拥有的。显然未完成..
【问题讨论】:
-
日期 不包括时区数据。您是指Time 还是DateTime?还是您想为默认时区处理这个问题,因为不同国家/地区的 dst 不同?无论如何,我建议您看看Daylight Saving Time start and end dates in Ruby/Rails。
-
我正在尝试使用 DateTime,这也需要通用..
-
基本上我需要获取系统的当前日期时间,并且我需要查看它是否比另一个更接近一个夏令时。但是,DST 每年都在变化,这对我来说很棘手。
-
您需要澄清您的问题(通过编辑)。请参阅我的回答以获取建议。