Eu tentei fazer algo como
Time.now + 5.days
mas isso não funciona, embora eu me lembre vagamente de ter visto, e de ficar muito impressionado, por ser capaz de fazer algo como 2.years
etc.
Como faço isso no Rails 3?
ruby-on-rails
datetime
ruby-on-rails-3
activesupport
Yuval Karmi
fonte
fonte
Respostas:
Usar
ou mesmo
Ambos definitivamente funcionam. Tem certeza que está no Rails e não apenas no Ruby?
Se você definitivamente está em Rails, de onde está tentando rodar isso? Observe que o Active Support deve ser carregado.
fonte
Time.now + 10.days
sempre seleciona o fuso horário do sistema, ao passo10.days.from_now
que seleciona o fuso horário UTC se nada estiver definido na configuração do rails.Time.zone.now
no lugar deTime.now
.days
,years
etc., fazem parte do Active Support. Portanto, isso não funcionaráirb
, mas deveria funcionarrails console
.fonte
require 'active_support/time'
no início da sessão ou antes de usar seus comandosIsso definitivamente funciona e eu uso isso sempre que preciso adicionar dias à data atual:
fonte
Algumas outras opções, apenas para referência
Apenas liste todas as opções que conheço:
Então agora, qual é a diferença entre eles se nos preocupamos com o fuso horário:
[1, 4]
Com fuso horário do sistema[2, 3]
Com configuração de fuso horário do seu aplicativo Rails[5]
Data apenas sem hora incluída no resultadofonte
Experimente no Rails
Experimente isso em Ruby
fonte
Experimente isso em Ruby. Ele retornará uma nova data / hora no número especificado de dias no futuro
fonte