Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Zonas horarias en Rails 5 cuando se usa beginnig_of_month

Mi aplicación Rails 5 está configurada en BRT (zona horaria de Brasil) y mi base de datos de Postgres en UTC. Nunca tuve que preocuparme por eso porque Rails siempre calculaba la hora correcta al leer o escribir en la base de datos. Entonces, por ejemplo, cuando tenía un campo de entrada con time = 15:00 , escribía 18:00 en la base de datos y, al leer de la base de datos, regresaba 15:00 nuevamente. ¡Perfecto!

Pero ahora quiero escribir el comienzo del mes en la base de datos:

Time.now.beginning_of_month que es 2017-04-01 00:00:00

 Payment.create( :time => Time.now.beginning_of_month )

Ahora escribe exactamente esto (en BRT) en la base de datos sin convertir a UTC. Cuando leo esto de la base de datos más tarde, lo convierte a BRT 2017-03-31 21:00:00 , lo cual es incorrecto.

Por supuesto, podría convertir la hora a UTC antes de guardarla en la base de datos. Pero me parece extraño que Rails siempre se encargue de convertir y en este caso no lo hace.

Espero que el problema se haya aclarado.

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Encontré un artículo muy bueno sobre este tema:

https://www.varvet.com/blog/trabajando-con-husos-horarios-en-ruby-on-rails/

Básicamente, lo que tenía que hacer es cambiar Time.now a Time.current ya que Time.now ignora la configuración de la zona horaria.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda