Introduction
This library extends the Time class:
-
conversion between date string and time object.
-
date-time defined by RFC 2822
-
HTTP-date defined by RFC 2616
-
dateTime defined by XML Schema Part 2: Datatypes (ISO 8601)
-
various formats handled by Date._parse (string to time only)
-
Design Issues
Specialized interface
This library provides methods dedicated to special purposes:
-
RFC 2822, RFC 2616 and XML Schema.
-
They makes usual life easier.
Doesn't depend on strftime
This library doesn't use +Time#strftime+. Especially rfc2822
doesn't depend on strftime
because:
-
%a and %b are locale sensitive
Since they are locale sensitive, they may be replaced to invalid weekday/month name in some locales. Since ruby-1.6 doesn't invoke setlocale by default, the problem doesn't arise until some external library invokes setlocale. Ruby/GTK is the example of such library.
-
%z is not portable
%z is required to generate zone in date-time of RFC 2822 but it is not portable.
Note that +Time#strftime+ doesn't use +strftime()+ function in libc since Ruby 1.9. This means +Time#strftime+ is locale-insensitive since Ruby 1.9. The above statements are not valid now.
- date
- CLASS Time