strptime() doesn't recognize BST as a valid timezone

Adam Monsen haircut at
Thu Sep 15 00:31:45 CEST 2005

I'm unable to parse the following date string using time.strptime():
"Wed Sep 14, 2005 5:07 PM BST"

Format: "%a %b %d, %Y %I:%M %p %Z"

I tried changing the locale and using time.tzset(), but no luck. Is
there anyone in London (or some other BST location) that would try
running the following code?

import time
date_str = "Wed Sep 14, 2005 5:07 PM BST"
format = "%a %b %d, %Y %I:%M %p %Z"
time.strptime(date_str, format)

I get: "ValueError: time data did not match format: ..."

NOTE: there is a workable solution to getting this date into the proper
timezone ('Europe/London'), but I'm still unable to parse the 'BST'
part, even after setting the locale to en_GB.utf8 and the timezone to
'Europe/London'. Here's a solution to "zoning" naive date strings: (full url:

I did notice that the Python docs mention %Z is deprecated, so is possibly the best solution available for


Adam Monsen

More information about the Python-list mailing list