我想知道是否insertion_date超过30天.这应该检测到当前时间的分钟和秒.值insertion_date将从API动态提取.
目前的代码只检测到一天,我需要精确到秒.
import datetime
import dateutil.parser
insertion_date = dateutil.parser.parse('2017-08-30 14:25:30')
right_now_30_days_ago = datetime.datetime.today() - datetime.timedelta(days=30)
print right_now_30_days_ago #2017-08-31 12:18:40.040594
print insertion_date #2017-08-30 14:25:30
if insertion_date > right_now_30_days_ago:
print "The insertion date is older than 30 days"
else:
print "The insertion date is not older than 30 days"
Run Code Online (Sandbox Code Playgroud)
小智 12
你需要做类似的事情:
from datetime import datetime, timedelta
time_between_insertion = datetime.now() - insertion_date
if time_between_insertion.days>30:
print "The insertion date is older than 30 days"
else:
print "The insertion date is not older than 30 days"
Run Code Online (Sandbox Code Playgroud)
from datetime import datetime, timedelta
print(datetime.now())
datetime.datetime(2017, 9, 5, 7, 25, 37, 836117)
print(datetime.now() - timedelta(days=30))
datetime.datetime(2017, 8, 6, 7, 25, 51, 723674)
Run Code Online (Sandbox Code Playgroud)
如您在这里看到的,它精确到秒。
问题出在datetime.today()。您应该使用datetime.now()而不是datetime.today():
time_since_insertion = datetime.now() - insertion_date
if time_since_insertion.days > 30:
print("The insertion date is older than 30 days")
else:
print("The insertion date is not older than 30 days")
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
11451 次 |
| 最近记录: |