How to parse this timestamp?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • gnu.gcc.help

    How to parse this timestamp?

    I've got timestamps in a file that look like:

    [19-Aug-2007 07:38:43+216ms NZST]

    How can I parse them? I don't see any way to build a strftime()
    format string that can handle the +216ms part. The best I can see is
    tearing it all apart with a regex, but I'm trying to avoid that pain
    if I can.

    (PS: I have no clue why google groups thinks it should put
    "gnu.gcc.he lp" on the from line)

  • Miki

    #2
    Re: How to parse this timestamp?

    Hello,
    [19-Aug-2007 07:38:43+216ms NZST]
    >
    How can I parse them?  I don't see any way to build a strftime()
    format string that can handle the +216ms part. The best I can see is
    tearing it all apart with a regex, but I'm trying to avoid that pain
    if I can.
    >
    (PS: I have no clue why google groups thinks it should put
    "gnu.gcc.he lp" on the from line)
    Just zap the end and use time.strptime:
    >>s = '19-Aug-2007 07:38:43+216ms NZST'
    >>strptime(re.s ub("\+\d{3}ms [A-Z]{4}", "", s), "%d-%b-%Y %H:%M:%S")
    (2007, 8, 19, 7, 38, 43, 6, 231, -1)
    >>>
    HTH,
    --
    Miki <miki.tebeka@gm ail.com>
    If it won't be simple, it simply won't be. [Hire me, source code]

    Comment

    • Diez B. Roggisch

      #3
      Re: How to parse this timestamp?

      gnu.gcc.help schrieb:
      I've got timestamps in a file that look like:
      >
      [19-Aug-2007 07:38:43+216ms NZST]
      >
      How can I parse them? I don't see any way to build a strftime()
      format string that can handle the +216ms part. The best I can see is
      tearing it all apart with a regex, but I'm trying to avoid that pain
      if I can.
      >
      (PS: I have no clue why google groups thinks it should put
      "gnu.gcc.he lp" on the from line)
      >
      Then don't use the regexes. Use string.split to separate the string on
      the +, then parse the left part with strptime, and usp pytz and
      datetime.timede lta to do the rest.

      Diez

      Comment

      Working...