W Rubim, jak to zrobić Time.now + 10.hours ?
Czy istnieje odpowiednik dla secsi mins? Na przykład:
Time.now + 15.mins
Odpowiedzi:
Ruby (język programowania) nie ma 10.hours, jest to ActiveSupportczęść Ruby on Rails (framework sieciowy). I tak, ma oba minutesi secondsmetody.
Jednak Time#+(metoda + w wystąpieniach Time) zwraca nowe wystąpienie Time, czyli tyle sekund w przyszłości. Więc bez cukru Ruby on Rails możesz po prostu zrobić:
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
Myślę, że mówisz o rozszerzeniach dodanych przez Railsy. Myślę, że potrzebujesz 15.minutes.
Aby uzyskać więcej informacji, zobacz rozszerzenia Active Support Core Extensions dla daty, daty, godziny i godziny .
10 + Time.now::TypeError: Time can't be coerced into FixnumaleTime.now + 10działa .. dla wszystkich, którzy mają ten sam problem;)