如何验证两个日期是否相同?

时间:2018-07-29 17:42:02

标签: python python-datetime

当日记条目的 MAPI_NO_CACHE = &H200 MAPI_BEST_ACCESS = &H10 set Session = CreateObject("Redemption.RDOSession") Session.MAPIOBJECT = objOutlook.Session.MAPIOBJECT ... set rFolder = Session.GetFolderFromID(subFolder.EntryID, , MAPI_NO_CACHE + MAPI_BEST_ACCESS) MsgBox rFolder.Items.Count date_created字段相同时,如何实现用户只能更新条目的功能?

这是我已经实现的。我已将数据库中条目模型的date_created字段与date_modified进行了比较。

数据模型

datetime.date.today()

方法

class DiaryEntry():

    def __init__(self):

        self.title = ''
        self.body = '' 
        self.date_modified = None
        self.date_created = datetime.date.today()



    def save(self, current_user_email):
        # insert data into db
        query = "INSERT INTO entries (owner_id, title, body, date_created, date_modified) \
                VALUES ((SELECT user_id from users where email ='{}'), '{}', '{}', '{}','{}')" \
                                                    . format(current_user_email,
                                                        self.title,
                                                        self.body,
                                                        self.date_created,
                                                        self.date_modified
                                                        )
        db.execute(query) 

我目前正在获得第二个return语句。我可能做错了什么?

1 个答案:

答案 0 :(得分:2)

似乎您在date_created中有update_diary_entry()作为字符串(str)。除非您将字符串解析为相同的类型,否则将导致与Python datetime.date对象的无效比较:

>>> import datetime
>>> date_created = '2018-07-29'

>>> date_created == datetime.date.today()
False

>>> datetime.datetime.strptime(date_created, '%Y-%m-%d').date() == datetime.date.today()
True

类方法strptime()将一个看起来像日期的字符串解析到datetime.datetime对象中。然后,您只需要从中获取日期部分,即可进行所需的比较。如果您使用其他格式的日期字符串,请参见strftime() and strptime() Behavior