Feature #10459 ยป rfc3339.patch
| lib/time.rb (working copy) | ||
|---|---|---|
|
# === Converting to a String
|
||
|
#
|
||
|
# t = Time.now
|
||
|
# t.iso8601 # => "2011-10-05T22:26:12-04:00"
|
||
|
# t.rfc2822 # => "Wed, 05 Oct 2011 22:26:12 -0400"
|
||
|
# t.httpdate # => "Thu, 06 Oct 2011 02:26:12 GMT"
|
||
|
# t.rfc3339(9) # => "2011-10-05T22:26:12.996992609-04:00"
|
||
|
# t.rfc3339 # => "2011-10-05T22:26:12-04:00"
|
||
|
# t.iso8601(9) # => "2011-10-05T22:26:12.996992609-04:00"
|
||
|
# t.iso8601 # => "2011-10-05T22:26:12-04:00"
|
||
|
# t.rfc2822 # => "Wed, 05 Oct 2011 22:26:12 -0400"
|
||
|
# t.httpdate # => "Thu, 06 Oct 2011 02:26:12 GMT"
|
||
|
#
|
||
|
# === Time.parse
|
||
|
#
|
||
| ... | ... | |
|
end
|
||
|
end
|
||
|
alias iso8601 xmlschema
|
||
|
alias rfc3339 xmlschema
|
||
|
end # class << self
|
||
|
#
|
||
| test/test_time.rb (working copy) | ||
|---|---|---|
|
def test_rfc3339
|
||
|
t = Time.utc(1985, 4, 12, 23, 20, 50, 520000)
|
||
|
s = "1985-04-12T23:20:50.52Z"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(s, t.iso8601(2))
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
assert_equal(s, t.rfc3339(2))
|
||
|
t = Time.utc(1996, 12, 20, 0, 39, 57)
|
||
|
s = "1996-12-19T16:39:57-08:00"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
# There is no way to generate time string with arbitrary timezone.
|
||
|
s = "1996-12-20T00:39:57Z"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(s, t.iso8601)
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
assert_equal(s, t.rfc3339)
|
||
|
t = Time.utc(1990, 12, 31, 23, 59, 60)
|
||
|
s = "1990-12-31T23:59:60Z"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
# leap second is representable only if timezone file has it.
|
||
|
s = "1990-12-31T15:59:60-08:00"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
begin
|
||
|
Time.at(-1)
|
||
| ... | ... | |
|
else
|
||
|
t = Time.utc(1937, 1, 1, 11, 40, 27, 870000)
|
||
|
s = "1937-01-01T12:00:27.87+00:20"
|
||
|
assert_equal(t, Time.iso8601(s))
|
||
|
assert_equal(t, Time.rfc3339(s))
|
||
|
end
|
||
|
end
|
||