2012-06-29 16 views
11

Wiem, że jest wiele pytań dotyczących daty i czasu dla Railsów, ale nie mogę rozwiązać problemu, który mam.Szyny otrzymujące aktualny czas bez daty

Prawdopodobnie po prostu bycie głupim na ten temat. Tak czy inaczej, moim problemem jest to, że chcę uzyskać bieżący czas bez z daną datą.

Na przykład, kiedy używać następujących uzyskać:

Time.now => 2012-06-29 09:23:04 -0400 

lub

Time.current => Fri, 29 Jun 2012 09:23:23 EDT -04:00 

chciałbym uzyskać aktualny czas bez konieczności datę. to znaczy tylko

09:23:04 -0400 

lub

09:23:23 EDT -04:00 

Jeśli są pytania, które obecnie nie rozwiązuje to już, bym docenić zwrócił się do nich.

Dzięki!

Odpowiedz

17

Użyj strftime, aby otrzymać bity o żądanej godzinie w wybranym formacie.

puts Time.now.strftime("%I:%M:%S %z") # "09:33:00 -0400" 

puts Time.now.strftime("%I:%M:%S %Z %z") # "09:33:00 EDT -0400" 
+0

[ 'to_formatted_s'] (http://api.rubyonrails.org/classes/Time .html # method-i-to_formatted_s) wydaje się lepszą opcją. –

0
Time.now.strftime("%H:%M:%S") # "18:33:00" 

Nie używaj %I bez %p (nie będzie wiedział, AM/PM)