Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abhidsm/time_diff
Gem which calculates the difference between two times
https://github.com/abhidsm/time_diff
Last synced: 17 days ago
JSON representation
Gem which calculates the difference between two times
- Host: GitHub
- URL: https://github.com/abhidsm/time_diff
- Owner: abhidsm
- License: mit
- Created: 2011-03-05T03:16:36.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2018-05-14T01:58:32.000Z (over 6 years ago)
- Last Synced: 2024-08-10T02:52:02.959Z (3 months ago)
- Language: Ruby
- Homepage: https://rubygems.org/gems/time_diff
- Size: 894 KB
- Stars: 146
- Watchers: 10
- Forks: 21
- Open Issues: 7
-
Metadata Files:
- Readme: README
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-ruby - time_diff - Calculates the difference between two time. (Date and Time Processing)
README
= time_diff
Gem which calculates the difference between two time== Installation
gem install time_diff
== Usage
require 'time_diff'
time_diff_components = Time.diff(start_date_time, end_date_time)
This will return the hash of time difference in terms of years, month, week, day, hour, minute and second.
You can use the difference like:
time_diff_components[:year], time_diff_components[:month], time_diff_components[:week]
== Formatted Time difference
%y - year
%M - month
%w - week
%d - day
%H - hour
%N - minute
%S - second
%h - hour (without adding 'hour' text to the hours. eg: 3 for 3 hours)
%m - minute (without adding 'minute' text)
%s - second (without adding 'second' text)
By default the format is
'%y, %M, %w, %d and %h:%m:%s'
this will return
'1 year, 2 months, 3 weeks, 4 days and 12:05:52'.
You will get the result from the output hash, time_diff_components[:diff]
You can pass your own format as third parameter to this function.
If you give '%d %h' as the third parameter to the Time.diff() method, then the difference(time_diff_components[:diff]) will be calculated only in days and hours.
== Examples
> Time.diff(Time.parse('2011-03-06'), Time.parse('2011-03-07'))
=> {:year => 0, :month => 0, :week => 0, :day => 1, :hour => 0, :minute => 0, :second => 0, :diff => '1 day and 00:00:00'}
> Time.diff(Time.parse('2010-03-06 12:30:00'), Time.parse('2011-03-07 12:30:30'), '%y, %d and %h:%m:%s')
=> {:year => 1, :month => 0, :week => 0, :day => 0, :hour => 18, :minute => 0, :second => 30, :diff => '1 year and 18:00:30'}
> Time.diff(Time.parse('2011-03-06 12:30:00'), Time.parse('2011-03-07 12:30:30'), '%H %N %S')
=> {:year => 0, :month => 0, :week => 0, :day => 1, :hour => 0, :minute => 0, :second => 30, :diff => '24 hours 0 minute 30 seconds'}== i18n support
Add locales for day, days, week, weeks, year, hour, hours, minute, minutes, second, and seconds in your YAML file. For eg:
en:
day: divasam
days: divasangal