使用python将字符串转换为时间

时间:2013-03-16 09:37:50

标签: python datetime strftime strptime

我已经阅读了一些stackoverflow帖子,但仍然无法解决这个问题......

我想抓取过去48小时内发布的craigslist帖子。发布时间采用以下格式的craigslist:

2013-03-15,下午7:43 MDT

我试过了

string = "2013-03-15, 7:43PM MDT"

time.strptime(string, "%Y-%m-%d, %I:%M%p %Z")

但显然格式与字符串不匹配。这个时间字符串的格式应该是什么?

1 个答案:

答案 0 :(得分:2)

问题是MDT。 Python的%Z不支持(至少对我来说似乎如此)。可能有更好的解决方案,但这个应该有效:

import time
import datetime

#use the UTC which Python understands
a="2013-03-15, 7:43PM MDT".replace("MDT","UTC")
fs="%Y-%m-%d, %I:%M%p %Z"
c=time.strptime(a, fs)

#converting from UTC to MDT (time difference)
dt = datetime.datetime.fromtimestamp(time.mktime(c)) - datetime.timedelta(hours=6)
print dt