Tengo una configuración de zona horaria predeterminada para la aplicación de rieles. Y una instancia del objeto Date.Rieles: obtenga #beginning_of_day en la zona horaria
¿Cómo puedo hacer que date # date_of_day para devolver el comienzo del día en la zona horaria especificada, pero no en mi zona horaria local.
¿Hay algún otro método para obtener el comienzo del día en la zona horaria especificada para la fecha especificada?
date = Date.new(2014,10,29)
zone = ActiveSupport::TimeZone.new('CET')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 CET +01:00"
zone = ActiveSupport::TimeZone.new('UTC')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 UTC +00:00"
¿No es el comienzo del día siempre 00:00 independientemente de la zona horaria? – Ant
Siempre es 00:00, pero 00:00 siempre es diferente en diferentes zonas horarias. El resultado de #beginning_of_day conoce la zona horaria. Y parece que elige la zona horaria local en lugar de la predeterminada: Time.zone. –
Probé algunas cosas en este hilo de publicación y resulta en una respuesta incorrecta para las zonas horarias al este de UTC. Voy a publicar una "respuesta", ya que un comentario no formateará el código. – mcr