Connected: An Internet Encyclopedia
RFC 1945 - 3.3 Date/Time Formats

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1945
Up: 3. Protocol Parameters
Prev: 3.2.2 http URL
Next: 3.4 Character Sets

### 3.3 Date/Time Formats

HTTP/1.0 applications have historically allowed three different formats for the representation of date/time stamps:

           Sun, 06 Nov 1994 08:49:37 GMT    ; RFC 822, updated by RFC 1123
           Sunday, 06-Nov-94 08:49:37 GMT   ; RFC 850, obsoleted by RFC 1036
           Sun Nov  6 08:49:37 1994         ; ANSI C's asctime() format

The first format is preferred as an Internet standard and represents a fixed-length subset of that defined by RFC 1123 [6] (an update to RFC 822 [7]). The second format is in common use, but is based on the obsolete RFC 850 [10] date format and lacks a four-digit year. HTTP/1.0 clients and servers that parse the date value should accept all three formats, though they must never generate the third (asctime) format.

Note: Recipients of date values are encouraged to be robust in accepting date values that may have been generated by non-HTTP applications, as is sometimes the case when retrieving or posting messages via proxies/gateways to SMTP or NNTP.

All HTTP/1.0 date/time stamps must be represented in Universal Time (UT), also known as Greenwich Mean Time (GMT), without exception. This is indicated in the first two formats by the inclusion of "GMT" as the three-letter abbreviation for time zone, and should be assumed when reading the asctime format.

           HTTP-date      = rfc1123-date | rfc850-date | asctime-date

           rfc1123-date   = wkday "," SP date1 SP time SP "GMT"
           rfc850-date    = weekday "," SP date2 SP time SP "GMT"
           asctime-date   = wkday SP date3 SP time SP 4DIGIT

           date1          = 2DIGIT SP month SP 4DIGIT
                            ; day month year (e.g., 02 Jun 1982)
           date2          = 2DIGIT "-" month "-" 2DIGIT
                            ; day-month-year (e.g., 02-Jun-82)
           date3          = month SP ( 2DIGIT | ( SP 1DIGIT ))
                            ; month day (e.g., Jun  2)

           time           = 2DIGIT ":" 2DIGIT ":" 2DIGIT
                            ; 00:00:00 - 23:59:59

           wkday          = "Mon" | "Tue" | "Wed"
                          | "Thu" | "Fri" | "Sat" | "Sun"

           weekday        = "Monday" | "Tuesday" | "Wednesday"
                          | "Thursday" | "Friday" | "Saturday" | "Sunday"

           month          = "Jan" | "Feb" | "Mar" | "Apr"
                          | "May" | "Jun" | "Jul" | "Aug"
                          | "Sep" | "Oct" | "Nov" | "Dec"

Note: HTTP requirements for the date/time stamp format apply only to their usage within the protocol stream. Clients and servers are not required to use these formats for user presentation, request logging, etc.

Next: 3.4 Character Sets

Connected: An Internet Encyclopedia
RFC 1945 - 3.3 Date/Time Formats