The Time class represents dates and times in Ruby. It is a thin layer over the system date and time functionality provided by the operating system. This class may be unable on your system to represent dates before 1970 or after 2038.
time1 = Time.new puts "Current Time : " + time1.inspect # Time.now is a synonym: time2 = Time.now puts "Current Time : " + time2.inspect
Current Time : Mon Jun 02 12:02:39 -0700 2008 Current Time : Mon Jun 02 12:02:39 -0700 2008
time = Time.new # Components of a Time puts "Current Time : " + time.inspect puts time.year # => Year of the date puts time.month # => Month of the date (1 to 12) puts time.day # => Day of the date (1 to 31 ) puts time.wday # => 0: Day of week: 0 is Sunday puts time.yday # => 365: Day of year puts time.hour # => 23: 24-hour clock puts time.min # => 59 puts time.sec # => 59 puts time.usec # => 999999: microseconds puts time.zone # => "UTC": timezone name
Current Time : Mon Jun 02 12:03:08 -0700 2008 2008 6 2 1 154 12 3 8 247476 UTC
time = Time.new puts time.to_s puts time.ctime puts time.localtime puts time.strftime("%Y-%m-%d %H:%M:%S")
This will produce the following result:
Mon Jun 02 12:35:19 -0700 2008 Mon Jun 2 12:35:19 2008 Mon Jun 02 12:35:19 -0700 2008 2008-06-02 12:35:19
Directive | Description |
---|---|
%a | The abbreviated weekday name (Sun). |
%A | The full weekday name (Sunday). |
%b | The abbreviated month name (Jan). |
%B | The full month name (January). |
%c | The preferred local date and time representation. |
%d | Day of the month (01 to 31). |
%H | Hour of the day, 24-hour clock (00 to 23). |
%I | Hour of the day, 12-hour clock (01 to 12). |
%j | Day of the year (001 to 366). |
%m | Month of the year (01 to 12). |
%M | Minute of the hour (00 to 59). |
%p | Meridian indicator (AM or PM). |
%S | Second of the minute (00 to 60). |
%U | Week number of the current year, starting with the first Sunday as the first day of the first week (00 to 53). |
%W | Week number of the current year, starting with the first Monday as the first day of the first week (00 to 53). |
%w | Day of the week (Sunday is 0, 0 to 6). |
%x | Preferred representation for the date alone, no time. |
%X | Preferred representation for the time alone, no date. |
%y | Year without a century (00 to 99). |
%Y | Year with century. |
%Z | Time zone name. |
%% | Literal % character. |
Time arithmetic:
You can do simple arithmetic with time as follows:
now = Time.now # Current time puts now past = now - 10 # 10 seconds ago. Time - number => Time puts past future = now + 10 # 10 seconds from now Time + number => Time puts future diff = future - now # => 10 Time - Time => number of seconds puts diff
This will produce the following result:
Thu Aug 01 20:57:05 -0700 2013 Thu Aug 01 20:56:55 -0700 2013 Thu Aug 01 20:57:15 -0700 2013 10.0
distance_of_time_in_words(from_time, to_time)
time_ago_in_words(from_time)
No comments:
Post a Comment