轨道时区消失



我需要检查现在的时间是否在时间范围之间。

但我无法比较时间,因为时区突然消失了。

 now = Time.now.in_time_zone('Berlin')
 => Wed, 11 Jan 2017 14:58:34 CET +01:00
 time_from = send("#{day}_available_from".to_sym).in_time_zone('Berlin')
 => Sat, 01 Jan 2000 08:00:00 CET +01:00
 time_till = send("#{day}_available_till".to_sym).in_time_zone('Berlin')
 => Sat, 01 Jan 2000 14:50:00 CET +01:00
  date_from = DateTime.parse("#{Time.now.in_time_zone('Berlin').strftime('%d.%m.%Y')} #{time_from.strftime('%H:%M')}")
  => Wed, 11 Jan 2017 08:00:00 +0000
 date_till = DateTime.parse("#{Time.now.in_time_zone('Berlin').strftime('%d.%m.%Y')} #{time_till.strftime('%H:%M')}")
 => Wed, 11 Jan 2017 14:50:00 +0000
  now.between?(date_from, date_till)
  => true
但这是错误的。 14:58:

34 不在 08:00:00 -> 14:50:00 之间

时区消失,

因为您没有将其提供给DateTime.parse

time_from.strftime('%H:%M')更新为 time_from.strftime('%H:%M %z')

相关内容

  • 没有找到相关文章

最新更新