zona que operaciones horario horaria hora formatear fechas fecha cuál con como colombia calcular ruby timestamp

que - Cómo obtener la marca de tiempo UTC en Ruby?



operaciones con fechas ruby (8)

Cómo obtener la marca de tiempo UTC en Ruby?


¿De qué sirve una indicación de fecha y hora con su granularidad en segundos? Me parece mucho más práctico trabajar con Time.now.to_f. Diablos, incluso puedes lanzar un to_s.sub (''.'', '''') Para deshacerte del punto decimal, o realizar un tipo de transmisión como este: Entero (1e6 * Time.now.to_f).


El formato predeterminado no es muy útil, en mi opinión. Prefiero ISO8601 ya que es ordenable, relativamente compacto y ampliamente reconocido:

>> require ''time'' => true >> Time.now.utc.iso8601 => "2011-07-28T23:14:04Z"


La forma correcta es hacer un Time.now.getutc.to_i para obtener la cantidad de marca de hora correcta, ya que simplemente mostrar el entero no siempre tiene que ser igual que la marca de hora utc debido a las diferencias de zona horaria.


Podría usar: Time.now.to_i .


Por lo general, la marca de tiempo no tiene zona horaria.

% irb > Time.now.to_i == Time.now.getutc.to_i => true


Time.utc(2010, 05, 17)


time = Time.zone.now()

Funcionará como

irb> Time.zone.now => 2017-12-02 12:06:41 UTC


time = Time.now.getutc

Justificación: En mi opinión, una marca de tiempo es exactamente eso: un punto en el tiempo. Esto se puede representar con precisión con un objeto. Si necesita algo más, un valor escalar, por ejemplo, segundos desde la época Unix, intervalos de 100 ns desde 1601 o tal vez una cadena para mostrar o almacenar la marca de tiempo en una base de datos, puede obtenerla fácilmente del objeto. Pero eso depende mucho de su uso previsto.

Decir que "una marca de tiempo verdadera es el número de segundos desde la época de Unix" le falta un poco de sentido, ya que es una forma de representar un punto en el tiempo, pero también necesita información adicional para saber que está tratando con un tiempo y no un número. Un objeto Time resuelve este problema muy bien representando un punto en el tiempo y también siendo explícito sobre lo que es .