Wie mache ich das in Ruby Time.now + 10.hours
?
Gibt es ein Äquivalent für secs
und mins
? Zum Beispiel:
Time.now + 15.mins
Antworten:
Ruby (die Programmiersprache) hat nicht 10.hours
, das ist ActiveSupport
als Teil von Ruby on Rails (das Web-Framework). Und ja, es hat beides minutes
und seconds
Methoden.
Die Time#+
(+ -Methode für Zeitinstanzen) gibt jedoch eine neue Zeitinstanz zurück, die so viele Sekunden in der Zukunft liegt. Ohne Ruby on Rails-Zucker können Sie also einfach Folgendes tun:
irb> t = Time.now
#=> 2011-08-03 22:35:01 -0600
irb> t2 = t + 10 # 10 Seconds
#=> 2011-08-03 22:35:11 -0600
irb> t3 = t + 10*60 # 10 minutes
#=> 2011-08-03 22:45:01 -0600
irb> t4 = t + 10*60*60 # 10 hours
#=> 2011-08-04 08:35:01 -0600
Ich denke, Sie sprechen von Erweiterungen, die von Rails hinzugefügt wurden. Ich denke du brauchst 15.minutes
.
Weitere Informationen finden Sie in den Active Support Core-Erweiterungen für Datum, Datum und Uhrzeit .
10 + Time.now
:TypeError: Time can't be coerced into Fixnum
aberTime.now + 10
funktioniert .. für alle , die das gleiche Problem haben;)