A Ruby gem for converting seconds into human-readable format.
Add this line to your application's Gemfile:
gem 'to_duration'
And then execute:
$ bundle
Or install it yourself as:
$ gem install to_duration
Just call #to_duration
method on any Numeric
instance.
irb(main):001:0> 12345.to_duration
=> "3 hours, 25 minutes and 45 seconds"
irb(main):002:0> 1234567890.to_duration
=> "39 years, 1 month, 14 days, 5 hours, 31 minutes and 30 seconds"
irb(main):003:0> 1234567890.to_duration(weeks: true)
=> "39 years, 1 month, 2 weeks, 5 hours, 31 minutes and 30 seconds"
irb(main):004:0> 0.5.to_duration
=> "Less than one second"
Option | Type | Default |
---|---|---|
:years |
Boolean | true |
:months |
Boolean | true |
:weeks |
Boolean | false |
:days |
Boolean | true |
:hours |
Boolean | true |
:minutes |
Boolean | true |
:seconds |
Boolean | true |
Notice: Before version 1.2.0
these keys were singular.
The gem uses I18n for localization.
en: # Replace this key with your locale
to_duration:
and: and
less_than_one_second: Less than one second
year:
one: year
other: years
month:
one: month
other: months
week:
one: week
other: weeks
day:
one: day
other: days
hour:
one: hour
other: hours
minute:
one: minute
other: minutes
second:
one: second
other: seconds
If you're on Rails you may create config/locales/to_duration_#{locale}.yml
file.
Bug reports and pull requests are welcome on GitHub at https://github.com/digaev/to_duration.