to_duration
A Ruby gem for converting seconds into human-readable format.
Installation
Add this line to your application's Gemfile:
gem 'to_duration'And then execute:
$ bundle
Or install it yourself as:
$ gem install to_duration
Usage
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"#to_duration(options = {})
| 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.
Localization
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: secondsIf you're on Rails you may create config/locales/to_duration_#{locale}.yml file.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/digaev/to_duration.