在Odoo中如何创建日期变量实现日期条件判断?
日期判断问题的解决方案
修正逻辑错误:
你之前用year > 2022 and month > 4的条件逻辑有误——2024年1月的年份满足year>2022,但月份不满足month>4,导致整个条件不成立。正确的逻辑应该是年份大于2023,或者年份等于2023且月份大于4,代码示例:year = date.tm_year month = date.tm_month if year > 2023 or (year == 2023 and month > 4): # 执行你的业务逻辑 pass标准日期对象比较(推荐):
不要自行拼接日期字符串或数值,直接用datetime模块将struct_time转为标准日期对象,再和目标日期比较,避免语法和逻辑错误:import datetime # 将time.struct_time类型的date转为datetime.date对象 current_date = datetime.date(date.tm_year, date.tm_month, date.tm_mday) # 定义目标日期2023-04-01 target_date = datetime.date(2023, 4, 1) if current_date > target_date: # 执行你的业务逻辑 pass数值化日期比较(简易方案):
如果不想引入datetime模块,可以将日期转为YYYYMM格式的整数,直接通过数值大小判断:year = date.tm_year month = date.tm_month sum_date = year * 100 + month target = 202304 if sum_date > target: # 执行你的业务逻辑 pass若需要精确到日,可转为
YYYYMMDD格式:sum_date = year * 10000 + month * 100 + date.tm_mday,目标值设为20230401即可。
内容的提问来源于stack exchange,提问作者Jubb
相关产品推荐
相关产品推荐

