Comparing RFC1123 based Dates

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Phoe6

    Comparing RFC1123 based Dates

    I would like to parse RFC 1123 date format and compare two dates. I
    find that
    datetime module does not specifically confirms to any RFC. Any
    suggestions as how I can handle the RFC 1123 date format using
    standard libraries before I go to re based parsing?

    Thanks,
    Senthil

  • Phoe6

    #2
    Re: Comparing RFC1123 based Dates

    Phoe6 wrote:
    I would like to parse RFC 1123 date format and compare two dates. I
    find that
    datetime module does not specifically confirms to any RFC. Any
    suggestions as how I can handle the RFC 1123 date format using
    standard libraries before I go to re based parsing?
    Well,
    >>import time
    >>timeobj = time.strptime(" Thu, 01 Dec 1994 16:00:00 GMT","%a, %d %b %Y %H:%M:%S %Z")
    was easy.

    Thanks,
    Senthil

    Comment

    • Douglas Wells

      #3
      Re: Comparing RFC1123 based Dates

      In article <1186284911.988 459.324690@e16g 2000pri.googleg roups.com>,
      Phoe6 <orsenthil@gmai l.comwrites:
      Phoe6 wrote:
      I would like to parse RFC 1123 date format and compare two dates. I
      find that
      datetime module does not specifically confirms to any RFC. Any
      suggestions as how I can handle the RFC 1123 date format using
      standard libraries before I go to re based parsing?
      >
      Well,
      >import time
      >timeobj = time.strptime(" Thu, 01 Dec 1994 16:00:00 GMT","%a, %d %b %Y %H:%M:%S %Z")
      >
      was easy.
      Well, it might have been easy, but it's got several gotchas (in
      both Python and C), including:

      - The zone field (%Z) only corresponds for the GMT and UT timezones,
      which are obsolete (see RFC 2822). There is no support for
      the recommended +/-time-offset form.

      - The day-of-week (%a) and month (%b) fields in strptime and
      strftime are subject to the process's locale, whereas the RFC
      time forms are not. Those are hardwired to names that happen
      to correspond to the C, POSIX, and probably most of the en_*
      locales, but not to others that would be used by billions of
      people. Thus anyone using your program who doesn't happen to
      reside in one of the English-speaking countries (or does and
      is using a native locale) is likely to encounter problems when
      using your program.

      - The day-of-week field is optional.

      - Comments are allowed (but deprecated) in the whitespace fields
      of the time format. (On the other hand, I've never seen this
      is normal e-mail.)

      I find the use of strptime and strftime difficult enough to manage
      with Internet date/times that I restrict my use of them to programs
      that are limited to processing date/times. Even then, I then
      explicitly set the locale (LC_TIME) to the "C" locale. Otherwise,
      I use ad hoc code that explicitly recognizes the RFC-defined forms.

      --
      .. Douglas Wells . Connection Technologies .
      .. Internet: -sp9804- -at - contek.com- .

      Comment

      • Steve Holden

        #4
        Re: Comparing RFC1123 based Dates

        Phoe6 wrote:
        I would like to parse RFC 1123 date format and compare two dates. I
        find that
        datetime module does not specifically confirms to any RFC. Any
        suggestions as how I can handle the RFC 1123 date format using
        standard libraries before I go to re based parsing?
        >
        I realise you want to stick to the standard library. If you decide you
        can't however, you should definitely take a look at mx.DateTime, as the
        mx.DateTime.ARP A submodule provides exactly what you require.

        regards
        Steve
        --
        Steve Holden +1 571 484 6266 +1 800 494 3119
        Holden Web LLC/Ltd http://www.holdenweb.com
        Skype: holdenweb http://del.icio.us/steve.holden
        --------------- Asciimercial ------------------
        Get on the web: Blog, lens and tag the Internet
        Many services currently offer free registration
        ----------- Thank You for Reading -------------

        Comment

        Working...