Python 如何在odoo中比较日期与unicode日期

Python 如何在odoo中比较日期与unicode日期,python,datetime,unicode,openerp,odoo,Python,Datetime,Unicode,Openerp,Odoo,我正在尝试比较我的选择日期和计划日期,这是我的飞机日期代码: fmt = '%Y-%m-%d' if self.date_plant: from_date = self.date_plant d1 = datetime.strptime(str(from_date), fmt) date_after_month = datetime.date(d1) + relativedelta(months=1) cetak = date_after_month.strfti

我正在尝试比较我的选择日期和计划日期,这是我的飞机日期代码:

fmt = '%Y-%m-%d'
if self.date_plant:
    from_date = self.date_plant
    d1 = datetime.strptime(str(from_date), fmt)
    date_after_month = datetime.date(d1) + relativedelta(months=1)
    cetak = date_after_month.strftime(fmt)
    self.nursery_plandate = cetak
这是我要比较的代码:

fmt = '%Y-%m-%d'
if self.date:
    fromdt = self.date
    plan = self.nursery_plandate
    rang = int(7)
    d1 = datetime.strptime(str(fromdt), fmt)
    d2 = plan.day
    d3 = d1.day
    if d1 and plan:
        if d1 == plan:
            self.nursery_information = '2'  # pass
        elif d3 < d2:
            self.nursery_information = '0'  # untimely
        elif d3 > d2:
            self.nursery_information = '1'  # late
        else:
            if d3 >= rang:
                self.nursery_information = '1'  # late
            elif d3 <= rang:
                self.nursery_information = '0'  # untimely
            else:
                self.nursery_information = '2'  # late

self.托儿所\u plandate
不是有效的datetime/date对象,因此您无法访问它的属性,您需要根据该值创建有效的datetime对象,然后才能访问它的属性

fmt = '%Y-%m-%d'
if self.date:
    fromdt = self.date
    plan = datetime.strptime(str(self.nursery_plandate),fmt)
    rang = int(7)
    d1 = datetime.strptime(str(fromdt), fmt)
    d2 = plan.day
    d3 = d1.day
    if d1 and plan:
        if d1 == plan:
            self.nursery_information = '2'  # pass
        elif d3 < d2:
            self.nursery_information = '0'  # untimely
        elif d3 > d2:
            self.nursery_information = '1'  # late
        else:
            if d3 >= rang:
                self.nursery_information = '1'  # late
            elif d3 <= rang:
                self.nursery_information = '0'  # untimely
            else:
                self.nursery_information = '2'  # late
fmt='%Y-%m-%d'
如果自报日期:
fromdt=self.date
计划=datetime.strtime(str(self.nursery_plandate),fmt)
rang=int(7)
d1=datetime.strtime(str(fromdt),fmt)
d2=计划日
d3=d1.5天
如果d1和计划:
如果d1==计划:
self.托儿所_信息='2'#通过
elif d3d2:
self.托儿所信息='1'#迟到
其他:
如果d3>=量程:
self.托儿所信息='1'#迟到
艾利夫d3
fmt = '%Y-%m-%d'
if self.date:
    fromdt = self.date
    plan = datetime.strptime(str(self.nursery_plandate),fmt)
    rang = int(7)
    d1 = datetime.strptime(str(fromdt), fmt)
    d2 = plan.day
    d3 = d1.day
    if d1 and plan:
        if d1 == plan:
            self.nursery_information = '2'  # pass
        elif d3 < d2:
            self.nursery_information = '0'  # untimely
        elif d3 > d2:
            self.nursery_information = '1'  # late
        else:
            if d3 >= rang:
                self.nursery_information = '1'  # late
            elif d3 <= rang:
                self.nursery_information = '0'  # untimely
            else:
                self.nursery_information = '2'  # late