Como obter o carimbo de data / hora UTC em Ruby?
time = Time.now.getutc
Fundamentação: meus olhos, um carimbo de data e hora é exatamente isso: um ponto no tempo. Isso pode ser representado com precisão com um objeto. Se você precisar de mais alguma coisa, um valor escalar, por exemplo, segundos desde a época do Unix, intervalos de 100 ns desde 1601 ou talvez uma string para fins de exibição ou armazenamento do registro de data e hora em um banco de dados, você pode facilmente obtê-lo do objeto. Mas isso depende muito do uso pretendido.
Dizer que "um verdadeiro carimbo de data e hora é o número de segundos desde a época do Unix" está um pouco esquecido, pois essa é uma maneira de representar um ponto no tempo, mas também precisa de informações adicionais para saber que você está lidando com isso. um tempo e não um número. Um Time
objeto resolve esse problema perfeitamente, representando um ponto no tempo e também sendo explícito sobre o que é .
Você poderia usar:
Time.now.to_i
.fonte
A formatação padrão não é muito útil, na minha opinião. Prefiro a ISO8601, pois é selecionável, relativamente compacta e amplamente reconhecida:
fonte
/usr/share/ruby/2.0/time.rb
.Geralmente, o timestamp não tem fuso horário.
fonte
to_f
será melhorse você precisar de um carimbo de data / hora legível por humanos (como a migração de trilhos) ex. " 20190527141340 "
fonte
Qual a vantagem de um registro de data e hora com sua granularidade em segundos? Acho muito mais prático trabalhar com isso
Time.now.to_f
. Heck, você pode até jogar umto_s.sub('.','')
para se livrar do ponto decimal, ou realizar uma typecast como este:Integer(1e6*Time.now.to_f)
.fonte
Integer(1e3*Time.now.to_f)
para que meu lado do servidor rubi timestamp era o mesmo que o javascript do lado do clienteDate.now()
Time.utc(2010, 05, 17)
fonte
time = Time.zone.now()
Funcionará como
fonte
A maneira correta é fazer um
Time.now.getutc.to_i
para obter a quantidade correta de carimbo de data / hora, pois simplesmente exibir o número inteiro nem sempre precisa ser igual ao carimbo de data / hora utc devido a diferenças de fuso horário.fonte