我有一种情况需要从 date_entry
中找到之前的日期,其中 date_entry
是字符串,我设法做到了这一点:
>>> from datetime import timedelta, datetime
>>> from time import strptime, mktime
>>> date_str = '20130723'
>>> date_ = strptime(date_str, '%Y%m%d')
>>> date_
time.struct_time(tm_year=2013, tm_mon=7, tm_mday=23, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=204,tm_isdst=-1)
>>> datetime.fromtimestamp(mktime(date_))-timedelta(days=1)
datetime.datetime(2013, 7, 22, 0, 0)
>>>
但是,为此我必须导入模块 timedelta
、datetime
、strptime
和 mktime
。我认为这真的是解决这个简单问题的矫枉过正。
有没有更优雅的方法来解决这个问题(使用 Python 2.7)?
最佳答案
只需使用 datetime.datetime.strptime类方法:
>>> import datetime
>>> date_str = '20130723'
>>> datetime.datetime.strptime(date_str, '%Y%m%d') - datetime.timedelta(days=1)
datetime.datetime(2013, 7, 22, 0, 0)
关于Python将日期字符串转换为python日期并减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17850500/