This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Finding Today's Date | ||
---|---|---|
Code | Expected | Actual |
now = Time.now |
Sat Mar 18 16:58:07 EST 2006 | Mon Mar 27 16:43:19 EST 2006 |
now.gmtime |
Sat Mar 18 21:58:07 UTC 2006 | Mon Mar 27 21:43:19 UTC 2006 |
#The original object was affected by the time zone conversion. now |
Sat Mar 18 21:58:07 UTC 2006 | Mon Mar 27 21:43:19 UTC 2006 |
require 'date' now = DateTime.now |
#<DateTime: 70669826362347677/28800000000,-5/24,2299161> | #<DateTime: 212010255799562057/86400000000,-5/24,2299161> |
now.to_s |
"2006-03-18T16:58:07-0500" | "2006-03-27T16:43:19-0500" |
now.new_offset.to_s |
"2006-03-18T21:58:07Z" | "2006-03-27T21:43:19Z" |
#The original object was not affected by the time zone conversion. now.to_s |
"2006-03-18T16:58:07-0500" | "2006-03-27T16:43:19-0500" |
now_time = Time.new now_datetime = DateTime.now now_time.year |
2006 | 2006 |
now_datetime.year |
2006 | 2006 |
now_time.hour |
18 | 16 |
now_datetime.hour |
18 | 16 |
now_time.zone |
"EST" | "EST" |
now_datetime.zone |
"-0500" | "-0500" |
now_time.isdst |
false | false |
now_datetime.offset |
Rational(-5, 24) | Rational(-5, 24) |
now_time.usec |
247930 | 572976 |
now_datetime.sec_fraction |
Rational(62191, 21600000000) | Rational(191251, 28800000000) |
class Date def Date.now return Date.jd(DateTime.now.jd) end end puts Date.now |
2006-03-18 |
2006-03-27 |
Time.local(1999, 12, 31, 23, 21, 5, 1044) |
Fri Dec 31 23:21:05 EST 1999 | Fri Dec 31 23:21:05 EST 1999 |
Time.gm(1999, 12, 31, 23, 21, 5, 22, 1044) |
Fri Dec 31 23:21:05 UTC 1999 | Fri Dec 31 23:21:05 UTC 1999 |
Time.local(1991, 10, 1) |
Tue Oct 01 00:00:00 EDT 1991 | Tue Oct 01 00:00:00 EDT 1991 |
Time.gm(2000) |
Sat Jan 01 00:00:00 UTC 2000 | Sat Jan 01 00:00:00 UTC 2000 |
DateTime.civil(1999, 12, 31, 23, 21, Rational(51044, 100000)).to_s |
"1999-12-31T23:21:00Z" | "1999-12-31T23:21:00Z" |
DateTime.civil(1991, 10, 1).to_s |
"1991-10-01T00:00:00Z" | "1991-10-01T00:00:00Z" |
DateTime.civil(2000).to_s |
"2000-01-01T00:00:00Z" | "2000-01-01T00:00:00Z" |
my_offset = DateTime.now.offset |
Rational(-5, 24) | Rational(-5, 24) |
DateTime.civil(1999, 12, 31, 23, 21, Rational(51044, 100000), my_offset).to_s |
"1999-12-31T23:21:00-0500" | "1999-12-31T23:21:00-0500" |
#In Italy, 4 Oct 1582 was immediately followed by 15 Oct 1582. # Date.new(1582, 10, 4).to_s |
"1582-10-04" | "1582-10-04" |
Date.new(1582, 10, 5).to_s |
ArgumentError: invalid date ... |
ArgumentError: invalid date from /usr/lib/ruby/1.8/date.rb:591:in `new' from (irb):41 |
Date.new(1582, 10, 4).succ.to_s |
"1582-10-15" | "1582-10-15" |
#In England, 2 Sep 1752 was immediately followed by 14 Sep 1752. # Date.new(1752, 9, 2, Date::ENGLAND).to_s |
"1752-09-02" | "1752-09-02" |
Date.new(1752, 9, 3, Date::ENGLAND).to_s |
ArgumentError: invalid date ... |
ArgumentError: invalid date from /usr/lib/ruby/1.8/date.rb:591:in `new' from (irb):46 |
Date.new(1752, 9, 2, DateTime::ENGLAND).succ.to_s |
"1752-09-14" | "1752-09-14" |
Date.new(1582, 10, 5, Date::ENGLAND).to_s |
"1582-10-05" | "1582-10-05" |