odoo 10.0 中的日期添加

李达

我有一堂课:

class DateAddition(models.Model):
      _name = "studentmanagement.dateaddition"

      input_date = fields.Date()
      output_date = fields.Date()
      no_months = fields.Integer()

然后,如果我填写input_date =“ 2017年2月26日”且no_months = 2,则output_date将为“ 2017年4月26日”。我怎样才能在 odoo-10.0 中通过 on_change 做到这一点?

斯蒂芬·劳赫(Stephen Rauch)

我不知道如何将它连接到您的odoo on_change,但这里有一个从日期字符串中添加或减去月份的例程:

代码:

import datetime as dt

def add_month(date, months):
    assert isinstance(date, dt.date)
    year, month, day = date.year, date.month, date.day
    year += int((month + months-1) / 12)
    month = (month + months - 1) % 12 + 1
    return dt.date(year, month, day)

def add_month_from_string(date_string, months):
    date = dt.datetime.strptime(date_string, '%d %b %Y')
    return add_month(date, months).strftime('%d %b %Y')

测试数据:

test_data = (
    ("26 Feb 2017", 2, "26 Apr 2017"),
    ("6 Dec 2016", 3, "6 Mar 2017"),
    ("26 Feb 2017", -2, "26 Dec 2016"),
)

for have, inc, want in test_data:
    print(have, inc, add_month_from_string(have, inc), want)

结果:

('26 Feb 2017', 2, '26 Apr 2017', '26 Apr 2017')
('6 Dec 2016', 3, '06 Mar 2017', '6 Mar 2017')
('26 Feb 2017', -2, '26 Dec 2016', '26 Dec 2016')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在PHP中,为什么10&10 == 10返回0?

来自分类Dev

根据条件将颜色添加到Odoo10中的复选框

来自分类Dev

Odoo服务器无法在Windows 10中启动

来自分类Dev

更新日期列,在mysql中添加10天

来自分类Dev

如何在Odoo 10中从对象获取ID?

来自分类Dev

Odoo 10中的窗口操作与服务器操作

来自分类Dev

如何在odoo 10中更新js数据

来自分类Dev

Odoo 10,上传文件

来自分类Dev

计算两个日期时间之间的差异odoo 10

来自分类Dev

在自定义模块中向 Odoo 10 添加菜单

来自分类Dev

无效的模块名称 odoo 10

来自分类Dev

如何在 Odoo 10 中创建没有模型的视图

来自分类Dev

在odoo10中的打印按钮上打印报告

来自分类Dev

相关领域odoo10

来自分类Dev

在odoo 10中,我们如何通过继承向右侧添加新字段,右侧没有任何字段

来自分类Dev

如何在 windows8 中同时运行多个不同版本的 odoo 服务,例如 odoo-10 和 odoo-11

来自分类Dev

Odoo 10 XMLRPC - 检索图像

来自分类Dev

如何在odoo10的叶子顶部菜单中添加子菜单?

来自分类Dev

Odoo 10 - 通过 XMLRPC 添加订单行

来自分类Dev

产品的内部参考未添加到 odoo 10 中的发票报告中

来自分类Dev

Odoo 10 QWeb 报告

来自分类Dev

Odoo 10 动态过滤

来自分类Dev

如何在 Odoo 10 中更改发票顺序?

来自分类Dev

Odoo 10:模块导入

来自分类Dev

odoo 10 域签入日期!= 签出日期

来自分类Dev

xml odoo 10 中的域

来自分类Dev

如何在odoo 10中存储和检索时区敏感日期

来自分类Dev

c# - 如何在C#中的日期低于10的日期时间之前获得0

来自分类Dev

按日期创建自动操作 - Odoo 10