Obtengo una cadena de un método externo con fecha y hora como "07/09/10 14:50"
¿hay alguna forma de que pueda convertir ese tiempo en rubí a 'Pacífico EE.UU.' sabiendo su hora 'UTC'? con cambios contabilizados en la fecha? Es decir, si la diferencia de tiempo hace que el día sea diferente.Tiempo de conversión en UTC a hora del Pacífico
Respuesta
Dado que parece que está utilizando raíles, tiene bastantes opciones. Sugiero leer this article que habla de husos horarios.
Para convertir a PST, ambos son métodos específicos de raíles. No hay necesidad de reinventar la rueda:
time = Time.parse("07/09/10 14:50")
time.in_time_zone("Pacific Time (US & Canada)")
Esperanza esto ayuda
ACTUALIZACIÓN: Carriles podría tratar de ser más listos y dar la hora que se especifica como una cadena de una zona horaria. Para asegurar que el tiempo analiza como UTC, usted debe especificar en la cadena:
time = Time.parse("07/09/10 14:50 UTC")
time.in_time_zone("Pacific Time (US & Canada)")
He echado un vistazo al artículo, pero dosent muestra cómo puedo convertir de forma de cadena a objeto de fecha u hora? el método dosent funciona si lo llamo en la cadena "07/09/10 14:50" –
Agregué la instrucción 'Time.parse' para obtener la hora de una cadena. –
convertir de formato de cadena a un objeto de fecha o el tiempo que necesita utilizar strptime
require 'date'
require 'time'
my_time_string = "07/09/10 14:50"
to_datetime = DateTime.strptime(my_time_string, "%m/%d/%y %H:%M")
utc_time = Time.parse(to_datetime.to_s).utc
pacific_time = utc_time + Time.zone_offset("PDT")
puts utc_time
puts pacific_time
Este es el rubí puro , por lo tanto, es probable que haya algunos métodos específicos para los raíles que pueda usar específicamente para esta tarea, pero esto debería ayudarlo a comenzar.
Una pequeña nota, probablemente debería usar 'utc_time + Time.zone_offset (" PDT ")' en su lugar, si el desplazamiento de zona es negativo, p. -18000 "hará" menos menos ", lo que resulta en un número positivo, y por lo tanto dará como resultado una adición que no es lo que desea. – Ole
Modificado, gracias por notar. – michaelmichael
Me pregunto si' PST' no lo haría ser una mejor opción considerando 'PDT' devuelve el horario de verano y' PST' devuelve la hora estándar. Actualmente, la conversión de una hora 'UTC' con el desplazamiento' PDT' no devolvería la hora actual del Pacífico. (Ejemplo: actualmente es 1pm UTC. La conversión usando PDT le daría las 6 a.m., pero PST le daría las 5 a.m., que es probablemente lo que espera). – Pauline
requieren 'tiempo'
Si desea hora del Pacífico simplemente restar 25200 segundos de Time.new Hay una diferencia 7 horas entre la hora del Pacífico y GMT.
t = Time.parse ((Time.new-25200) .to_s)
A continuación, utilice strftime para formatear sin embargo usted quiere que se vea.
pone t.strftime ("% A% D en% I:% M% p")
Es muy desaconsejable manejar las zonas horarias manualmente. Elanguage tiene las mejores herramientas para eso. ¿Consideró el DST? ? Saltos? –
No solo desaconsejado, pero en este caso MUERTO INCORRECTO. Restando un tiempo fijo de una fecha para convertir las zonas horarias ignora el horario de verano – Scott
Me acabo de dar cuenta de por qué el código anterior no funcionaba yo. Estoy usando el servidor de cloud 9 debe estar en otra zona horaria. Agregué el lenguaje Ruby para eclipsar y luego agregué el siguiente código y me da la hora actual en PST. time = Time.new() pone el tiempo.strftime ("% I:% M:% S") –
- 1. Conversión de cadena UTC a hora de época en javascript
- 2. Convertir hora UTC/GMT a hora local
- 3. Convertir hora UTC a fecha hora local
- 4. conversión de pytz utc
- 5. Conversión del tiempo de época a "fecha/hora" real
- 6. Convertir hora local a UTC en Rails
- 7. Cómo convertir una marca de tiempo UTC a fecha y hora del sistema en ABAP
- 8. convertir la hora local, de alguien a la hora UTC
- 9. obtener hora UTC en PHP
- 10. Convierte un QDateTime en UTC a hora local del sistema
- 11. C# UTC a los usuarios Hora local
- 12. la conversión a otras zonas horarias UTC
- 13. Almacenamiento de fechas y horas en UTC y conversión de la hora local en PHP/MySQL
- 14. PHP UTC a la hora local
- 15. Generando hora UTC en java
- 16. convertir hora utc y desplazamiento a DateTime
- 17. Hora Joda: Convertir UTC a local
- 18. C# DateTime to UTC Hora sin cambiar el tiempo
- 19. C# Hora GMT equivalente con hora UTC?
- 20. Cómo convertir hora UTC a hora en cualquier otra zona horaria en C#
- 21. Conversión del formato de hora a numérico con R
- 22. intervalo de tiempo y UTC
- 23. JAVA: GMT a conversión de hora local
- 24. conversión de marca de hora UTC con la norma ISO 8601 en Ruby
- 25. Javascript Conversión de hora humana a timestamp
- 26. ¿System.currentTimeMillis representa la hora UTC?
- 27. Conversión de fecha y hora a hora POSIX
- 28. Convertir DateTime a UTC sólo si no está ya Utc
- 29. Conversión de la hora a militar
- 30. data Convertir UTC a la hora local en PHP
Por favor refiérase a la que he publicado https://stackoverflow.com/questions/24577449/convert-time- to-other-timezone/44278155 # 44278155 –