尝试用python减去两个日期并得到以小时(大于24小时的时间段)为单位的结果

2024-03-29 10:09:48 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试用python减去两个日期并得到以小时(大于24小时的时间段)为单位的结果

这就是我所尝试的:

    currentdate = datetime.now()
    # gets the date from the website
    lastcrawl = driver.find_element_by_xpath('//*[@id="last-15336"]/h4').text
    # convert string into time format
    formatlastcrawl = datetime.strptime(lastcrawl, '%b %d %H:%M')
    # converts into the time format - April 28, 11:24
    newformatlastcrawl = formatlastcrawl.strftime('%b %d %H:%M')
    print newformatlastcrawl
    # substracts 24 hours of the current date(because the website crawl happens every 24 hours) + 2 hours(to give enough time to finish the crawl)
    substractdate = (currentdate - timedelta(hours=26)).strftime("%b %d %H:%M")
    print substractdate
    # changes the format of the current date. For example - Nov 12
    formatcurrentdate = currentdate.strftime("%b %d %H:%M")
    print formatcurrentdate

    a = (substractdate - newformatlastcrawl)
    print a

当我试图减去它时,我得到一个错误:

a=(substractdate-newformatlastcrawl).strTime(“%b%d%H:%M”) TypeError:不支持-:“str”和“str”的操作数类型

我只想在几个小时内得到答案。此外,时间值可以大于24小时


Tags: theformatdatetimedatetimewebsiteprint小时
1条回答
网友
1楼 · 发布于 2024-03-29 10:09:48

这个程序在小时内打印两次之间的差异。在

from datetime import datetime

now = datetime.now()

# Problem: no year specified!
b = datetime.strptime('Apr 24 11:24', '%b %d %H:%M')

# Fix: Use the current year
b = b.replace(year=now.year)

# Goal: print number of hours between the two dates
diff_in_hours = (now - b).total_seconds() / 3600
print '{} - {} = {} hours'.format(now, b, diff_in_hours)

相关问题 更多 >