You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 20:22:34