给定 datetime
格式的 string strftime('%b %d, %Y %I:%M %p')
例如:'Apr 17, 2016 02:00 AM'
有没有办法检查这个时间是否已经过去? 喜欢可能比较
datetime.datetime.now().strftime('%b %d, %Y %I:%M %p')
以某种方式获取字符串 'Apr 17, 2016 02:00 AM'
最佳答案
将字符串解析为 datetime.datetime
实例,然后与 datetime.now()
进行比较:
from datetime import datetime
dt = datetime.strptime('Apr 17, 2016 02:00 AM', '%b %d, %Y %I:%M %p')
if dt < datetime.now():
print('{} alread past'.format(dt))
你可能想把它变成一个函数:
def is_past(dt_string):
return datetime.strptime(dt_string, '%b %d, %Y %I:%M %p') < datetime.now()
然后这样调用它:
>>> is_past('Apr 17, 2016 02:00 AM')
False
>>> is_past('Apr 01, 2016 02:00 AM')
True
关于python - 日期时间与字符串的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36642400/