C'è una gemma di rubino che formatta le date relative all'ora corrente? Voglio uscita come "Domani alle 17:00", "Giovedi prossima settimana alle 17:15", non sono troppo preoccupato per l'output esatto, purché si tratti di date relative in linguaggio naturaleFormato date relative
5
A
risposta
7
se si dispone di binari, Penso che lo ActionView::Helpers::DateHelper#distance_of_time_in_words sia d'aiuto.
require 'rubygems'
require 'action_view'
include ActionView::Helpers::DateHelper
from_time = Time.now
distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour
distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour
distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute
distance_of_time_in_words(from_time, from_time + 15.seconds, true) # => less than 20 seconds
distance_of_time_in_words(from_time, 3.years.from_now) # => over 3 years
distance_of_time_in_words(from_time, from_time + 60.hours) # => about 3 days
distance_of_time_in_words(from_time, from_time + 45.seconds, true) # => less than a minute
distance_of_time_in_words(from_time, from_time - 45.seconds, true) # => less than a minute
distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute
distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year
distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => over 4 years
to_time = Time.now + 6.years + 19.days
distance_of_time_in_words(from_time, to_time, true) # => over 6 years
distance_of_time_in_words(to_time, from_time, true) # => over 6 years
distance_of_time_in_words(Time.now, Time.now) # => less than a minute
In caso di relativa all'ora corrente, utilizzare distance_of_time_in_words_to_now
anziché distance_of_time_in_words
.
Se l'app è basata su rotaie, è sufficiente utilizzare distance_of_time_in_words
, distance_of_time_in_words_to_now
, time_ago_in_words
in vista.
-3
provare la gemma 'cronica'
fa esattamente quello che chiedi.
+1
cronico sembra fare il contrario: analizza i tempi, non li formatta. –
Problemi correlati
- 1. Date relative in ColdFusion
- 2. Calcolo delle date relative utilizzando asp.net mvc
- 3. AngularJS translate: Formato date dinamiche
- 4. Come posso creare date relative/approssimative in Perl?
- 5. sas date - convertire oggi() nel formato yyyymmdd
- 6. confrontare le date in formato stringa
- 7. R leggi date in formato aaaammdd
- 8. Alcune domande relative allo schema json personalizzato
- 9. Come convertire date relative come "Oggi" e "Ieri" in un oggetto data XQuery?
- 10. Problema DateTime.TryParse con date del formato aaaa-gg-MM
- 11. Formato numeri e date in dust.js (linkedin-fork)
- 12. Visualizzazione delle date in formato localizzato su Android
- 13. Date di caricamento di MySQL in formato mm/gg/aaaa
- 14. convert date date aaaammgg a aaJJJ o Julian Date
- 15. Array per date tra due date
- 16. loop di bash tra due date date
- 17. come confrontare due date date date jquery
- 18. RectangleGeometry con dimensioni relative ... come?
- 19. posizioni ticks matplotlib relative all'asse
- 20. Servire immagini relative usando assetic
- 21. Due mappature relative alle enumerazioni?
- 22. Stringhe di date scadenti?
- 23. Sorting of Date ArrayList
- 24. Parse Date in Bash
- 25. serialize date attributes
- 26. #Eval Short Date
- 27. Conversione di date in JavaScript
- 28. Date JSONb: date effettive internamente?
- 29. HttpWebRequest Date Header Format
- 30. Swagger e Date
Proprio quello di cui ho bisogno, ma non utilizzando i binari :(Qualche idea se i componenti Rails sono resi disponibili al di fuori delle rotaie? –
Penso che il codice sopra funzionerà senza binari, dopo aver installato action pack (gem install actionpack), ma non – unsouled
@unsouled - Confermato – steenslag