J'ai essayé de faire quelque chose comme
Time.now + 5.days
mais cela ne fonctionne pas, même si je me souviens vaguement d'avoir vu et d'être très impressionné par le fait de pouvoir faire quelque chose comme 2.years
etc.
Comment faire cela dans Rails 3?
ruby-on-rails
datetime
ruby-on-rails-3
activesupport
Yuval Karmi
la source
la source
Réponses:
Utilisation
ou même
Les deux fonctionnent définitivement. Êtes-vous sûr que vous êtes dans Rails et pas seulement dans Ruby?
Si vous êtes définitivement dans Rails, d'où essayez-vous d'exécuter cela? Notez que le support actif doit être chargé.
la source
Time.now + 10.days
récupère toujours le fuseau horaire de votre système alors que10.days.from_now
le fuseau horaire UTC est sélectionné si rien n'est défini dans la configuration des rails.Time.zone.now
à la place deTime.now
.days
,years
, Etc., font partie d' un soutien actif, donc cela ne fonctionnera pasirb
, mais il devrait fonctionnerrails console
.la source
require 'active_support/time'
au début de la session ou avant d'utiliser ses commandesCela fonctionne définitivement et je l'utilise partout où j'ai besoin d'ajouter des jours à la date actuelle:
la source
Quelques autres options, juste pour référence
Énumérez simplement toutes les options que je connais:
Alors maintenant, quelle est la différence entre eux si nous nous soucions du fuseau horaire:
[1, 4]
Avec le fuseau horaire du système[2, 3]
Avec le fuseau horaire de configuration de votre application Rails[5]
Date seulement pas d'heure incluse dans le résultatla source
Essayez ceci sur des rails
Essayez ceci sur Ruby
la source
Essayez ceci sur Ruby. Il renverra une nouvelle date / heure le nombre de jours spécifié dans le futur
la source