首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较openerp 7中的日期

比较openerp 7中的日期
EN

Stack Overflow用户
提问于 2014-11-08 09:21:27
回答 2查看 1.3K关注 0票数 0

我有一个自定义的模块在openerp 7与字段签入时间(日期-时间)和签出时间(日期-时间)。单击“保存”时,希望对两个字段执行验证,以确保签出时间不少于签入时间。谢谢你的建议。

EN

回答 2

Stack Overflow用户

发布于 2014-11-10 03:28:20

如前所述,请使用datetime。

在Odoo中,会将日期、时间和日期时间作为字符串使用。

openerp.tools.DEFAULT_SERVER_DATE_FORMAT,DEFAULT_SERVER_TIME_FORMAT和DEFAULT_SERVER_DATETIME_FORMAT。

代码语言:javascript
复制
from datetime import datetime
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT

check_in = datetime.strptime(my_object.check_in, DEFAULT_SERVER_DATETIME_FORMAT)
check_out = datetime.strptime(my_object.check_out, DEFAULT_SERVER_DATETIME_FORMAT)

Go nuts with comparisons etc.

几个注意事项:

  1. 我强烈建议阅读标准库中的datetime模块,特别是strftime、strptime和timedelta。
  2. 记住,您将得到UTC的日期和日期。表示日期和日期时间字段的类具有在用户时区返回日期和时间戳的方法,但通常不需要这些方法。看看fields.date.context_today和fields.datetime.context_timestamp
票数 1
EN

Stack Overflow用户

发布于 2014-11-09 18:43:06

我将尝试使用datetime模块中的datetime类。

  1. 导入相关python模块 从日期时间导入日期时间
  2. 通过适当的方法检索记录,即 self.pool.get('your_custom_module').search(cr,uid,your_record,offset=0,limit=None,order=None,context=None,count=False)

注意:您需要提供适当的域和修改/删除参数以满足您的需要。

  1. 从相关字段创建日期时间对象(使用datetime类的strptime方法:从字符串创建日期对象)。类似于: check_in = datetime.strptime(your_record,'%Y-%m-%d') check_out = datetime.strptime(your_record,'%Y-%m-%d')

注意:您需要将格式(‘%Y-%m-%d’)调整为DB返回的任何格式。

  1. 将这两个对象与一个简单表达式进行比较: 如果check_in < check_out:.其他:..。
  2. 做任何其他需要做的操作。

如果没有关于流程的更多细节,就很难提供更多的信息。

希望这有帮助,干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26815569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档