Sorry guys, this was supposed to go to the JavaMail mailing list. Sorry.
 
 
-----Original Message-----
From: Donie Kelly [mailto:[EMAIL PROTECTED]
Sent: 20 January 2004 12:15
To: Tomcat Users List (E-mail)
Subject: rfc2822 clarification on date headers
 
Hi all
 
Javamail generates a date in the format:  Date: Tue, 20 Jan 2004 11:57:37
+0000 (GMT)
 
The spec below implies that the timezone is either a numeric offset or the
timezone is specified like Date: Fri, 23 Jan 2004 11:57:24 GMT
 
Can somebody clarify why javamail uses both forms?
Extract from rfc2822 below
 
Thanks
Donie
 
 
3.3. Date and Time Specification
 
   Date and time occur in several header fields.  This section specifies
   the syntax for a full date and time specification.  Though folding
   white space is permitted throughout the date-time specification, it
   is RECOMMENDED that a single space be used in each place that FWS
   appears (whether it is required or optional); some older
   implementations may not interpret other occurrences of folding white
   space correctly.
 
date-time       =       [ day-of-week "," ] date FWS time [CFWS]
 
day-of-week     =       ([FWS] day-name) / obs-day-of-week
 
day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /
                        "Fri" / "Sat" / "Sun"
 
date            =       day month year
 
year            =       4*DIGIT / obs-year
 
month           =       (FWS month-name FWS) / obs-month
 
month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                        "May" / "Jun" / "Jul" / "Aug" /
                        "Sep" / "Oct" / "Nov" / "Dec"
 
day             =       ([FWS] 1*2DIGIT) / obs-day
 
time            =       time-of-day FWS zone
 
time-of-day     =       hour ":" minute [ ":" second ]
 
hour            =       2DIGIT / obs-hour
 
minute          =       2DIGIT / obs-minute
 
second          =       2DIGIT / obs-second
 
zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone
 
   The day is the numeric day of the month.  The year is any numeric
   year 1900 or later.
 
   The time-of-day specifies the number of hours, minutes, and
   optionally seconds since midnight of the date indicated.
 
   The date and time-of-day SHOULD express local time.
 
   The zone specifies the offset from Coordinated Universal Time (UTC,
   formerly referred to as "Greenwich Mean Time") that the date and
   time-of-day represent.  The "+" or "-" indicates whether the
   time-of-day is ahead of (i.e., east of) or behind (i.e., west of)
   Universal Time.  The first two digits indicate the number of hours
   difference from Universal Time, and the last two digits indicate the
   number of minutes difference from Universal Time.  (Hence, +hhmm
   means +(hh * 60 + mm) minutes, and -hhmm means -(hh * 60 + mm)
   minutes).  The form "+0000" SHOULD be used to indicate a time zone at
   Universal Time.  Though "-0000" also indicates Universal Time, it is
   used to indicate that the time was generated on a system that may be
   in a local time zone other than Universal Time and therefore
   indicates that the date-time contains no information about the local
   time zone.
 
   A date-time specification MUST be semantically valid.  That is, the
   day-of-the-week (if included) MUST be the day implied by the date,
   the numeric day-of-month MUST be between 1 and the number of days
   allowed for the specified month (in the specified year), the
   time-of-day MUST be in the range 00:00:00 through 23:59:60 (the
   number of seconds allowing for a leap second; see [STD12]), and the
   zone MUST be within the range -9959 through +9959.
 

Reply via email to