TimeDurationHumanizer
A Ruby gem for converting seconds into human-readable format.
Installation
Add this line to your application's Gemfile:
gem 'time_duration_humanizer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install time_duration_humanizer
Usage
irb(main):001:0> 12345.to_duration
=> "3 hours, 25 minutes and 45 seconds"
irb(main):002:0> 12345.to_duration(and_at_end: false)
=> "3 hours, 25 minutes, 45 seconds"
irb(main):003:0> 1234567890.to_duration
=> "39 years, 1 month, 14 days, 5 hours, 31 minutes and 30 seconds"
irb(main):004:0> 1234567890.to_duration(weeks: true)
=> "39 years, 1 month, 2 weeks, 5 hours, 31 minutes and 30 seconds"
irb(main):005:0> 62208000.to_duration
=> "1 year, 11 months, 24 days and 18 hours"
irb(main):006:0> 62208000.to_duration(days_in_year: 360)
=> "2 years"
Options
and_at_end- defaulttruedays_in_year- default365.25year- defaulttruemonth- defaulttrueweek- defaultfalseday- defaulttruehour- defaulttrueminute- defaulttruesecond- defaulttrue
Localization
In your Rails application edit config/locales/en.yml:
en:
time_duration_humanizer:
and: and
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
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/digaev/time_duration_humanizer.