用Python将字符串转换为时间

2 投票
1 回答
9215 浏览
提问于 2025-04-17 19:18

我看了几个StackOverflow的帖子,但还是搞不清楚这个问题……

我想抓取在过去48小时内发布的craigslist帖子。craigslist上发布的时间格式是这样的:

2013-03-15, 7:43PM MDT

我试过

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

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

但是显然这个格式和字符串不匹配。那么这个时间字符串应该用什么格式呢?

1 个回答

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

撰写回答