如何计算两次约会之间的天数?

2024-10-02 10:30:20 发布

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

我得到了一个python脚本,它应该获取mysql表的数据(包含一个日期),然后它应该打印出从今天的日期到mysql表的日期之间的天数。你知道吗

我已经试过删减这两个日期,但这行不通。所以我试着删去今天的日期和我的生日,结果成功了。所以我认为问题在于mysql的日期。你知道吗

import datetime
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database='appointments'
)

eventDate = mydb.cursor()
eventDate.execute('SELECT event_date FROM appointdatetitle')
Date = eventDate.fetchall()

tdelta = datetime.timedelta(days=7)
today = datetime.date.today()
eday = Date
till_eday = eday - today
print(till_eday.days)

Tags: 数据import脚本connectortodaydatetimedatemysql
1条回答
网友
1楼 · 发布于 2024-10-02 10:30:20

Date = eventDate.fetchall()fetchall实际获取一个元组 e、 g.
(('abcd',), ('efgh',))

您可能希望通过循环列表并获取元素来获取日期。e、 g

for d in Date:
    #This will contain the date you need
    print(d[0])

或者您可以直接访问一个元素,比如说Date[0][0]

从OP更新后,这就是可以做的!
OP可以使用https://dateutil.readthedocs.io/en/stable/index.html来使用
from dateutil.relativedelta import *增加月份!你知道吗

import datetime
from dateutil.relativedelta import *

Date = [(datetime.date(2019, 4, 24),)]

#Extract actual datetime object from Date variable
date_obj = Date[0][0]

#Increment month by 1 since January starts from 0
date_obj += relativedelta(months=1)

today = datetime.date.today()

#Using datetime from above
eday = date_obj
till_eday = eday - today
print(till_eday.days)

输出将是23

相关问题 更多 >

    热门问题