【问题标题】:Difference between two dates in python and mysql workbenchpython和mysql工作台中两个日期的区别
【发布时间】:2019-09-17 04:28:08
【问题描述】:

我将日期存储在 MySQL db 中,我已经使用 python 获取它并添加了 15 天(成功完成),现在我必须获取该日期与当前日期的差异

import mysql.connector
import datetime
mydb = mysql.connector.connect(host="localhost", user="root", password="afif123", db="library")
mycursor = mydb.cursor()
date_query = '''SELECT Date from issued_book WHERE Username = 'afif' AND  Book_Code = 12'''
mycursor.execute(date_query)
date_fetch = mycursor.fetchall()
date1 = date_fetch[0]
print(date1)
d1 = date1[0]
diff = d1 + datetime.timedelta(days=15)
dc = diff.strftime('%Y-%m-%d')
print("diff:", dc)
today1 = datetime.datetime.now().strftime('%Y-%m-%d')
print("today1:", today1)
day = dc - today1
print(day)

我需要天数(int)的差异,所以我可以计算罚款

错误显示如下:

Traceback(最近一次调用最后一次):

(datetime.datetime(2019, 4, 18, 15, 47, 51),)

差异:2019-05-03

文件“C:/Users/shaik/Desktop/lib/d.py”,第 16 行,在

今天1:2019-04-28

day = dc - 今天1

TypeError: 不支持的操作数类型 -: 'str' 和 'str'

进程以退出代码 1 结束

【问题讨论】:

    标签: python-3.x mysql-workbench


    【解决方案1】:

    要计算差异,您必须使用 datetime.datetime 对象。然后当你减去时,你会得到一个 timedelta 对象。

    import mysql.connector
    import datetime
    mydb = mysql.connector.connect(host="localhost", user="root", password="afif123", db="library")
    mycursor = mydb.cursor()
    date_query = '''SELECT Date from issued_book WHERE Username = 'afif' AND  Book_Code = 12'''
    mycursor.execute(date_query)
    date_fetch = mycursor.fetchall()
    date1 = date_fetch[0]
    print(date1)
    d1 = date1[0]
    diff = d1 + datetime.timedelta(days=15)
    dc = diff.strftime('%Y-%m-%d')
    print("diff:", dc)
    
    # Below is the updated piece from your code
    today1 = datetime.datetime.today() 
    print("today1:", today1.strftime('%Y-%m-%d'))
    delta = diff - today1
    print(delta.days) 
    

    希望这会有所帮助!

    【讨论】:

    • 感谢它的工作,但今天 1(在 diff - today1)上出现警告,它说预期类型 'timedelta',得到了 'datetime 相反'。否则我得到了我需要的东西
    • 这似乎很奇怪,直到两个操作数的类型相同,即 'datetime' 或 'timedelta' 时,一切都会好起来的
    猜你喜欢
    • 2020-11-18
    • 2011-09-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多