在odoo 9中获取当前日期时间
Get current datetime in odoo 9
默认情况下如何获取当前日期时间和当前日期时间 + 1 小时?
对于日期,我使用以下示例:
defaults = {
'start': fields.Date.today(),
'finish': fields.Date.today(),
}
尝试使用以下代码:
from datetime import datetime, timedelta
defaults = {
'start': datetime.now(),
'finish': datetime.now() + timedelta(hours=1),
}
您的字段声明将是 start, finish as datetime data-type.
并遵循 "new" API 的解决方案,我建议您使用,因为您标记了 Odoo-9:
from datetime import datetime, timedelta
from openerp import models, fields, api
# from odoo import models, fields, api # for Odoo 10+
class MyClass(models.Model):
_name = "my.class"
start = fields.Date(string="Start", default="_default_start")
finish = fields.Date(string="Finish", default="_default_finish")
@api.model
def _default_start(self):
return fields.Date.context_today(self)
@api.model
def _default_finish(self):
finish = datetime.now() + timedelta(hours=1)
return fields.Date.context_today(self, timestamp=finish)
对于odoo中的新api,字段中有一个default
选项,您可以创建一个函数来设置默认选项二
start = fields.Datetime('Date', default=fields.Datetime.now,)
finish = fields.Datetime('Date', default='_get_finish_date',)
from datetime import datetime , timedelta
@api.one
def _get_finish_date(self):
return datetime.now() + timedelta(hours=1)
默认情况下如何获取当前日期时间和当前日期时间 + 1 小时?
对于日期,我使用以下示例:
defaults = {
'start': fields.Date.today(),
'finish': fields.Date.today(),
}
尝试使用以下代码:
from datetime import datetime, timedelta
defaults = {
'start': datetime.now(),
'finish': datetime.now() + timedelta(hours=1),
}
您的字段声明将是 start, finish as datetime data-type.
并遵循 "new" API 的解决方案,我建议您使用,因为您标记了 Odoo-9:
from datetime import datetime, timedelta
from openerp import models, fields, api
# from odoo import models, fields, api # for Odoo 10+
class MyClass(models.Model):
_name = "my.class"
start = fields.Date(string="Start", default="_default_start")
finish = fields.Date(string="Finish", default="_default_finish")
@api.model
def _default_start(self):
return fields.Date.context_today(self)
@api.model
def _default_finish(self):
finish = datetime.now() + timedelta(hours=1)
return fields.Date.context_today(self, timestamp=finish)
对于odoo中的新api,字段中有一个default
选项,您可以创建一个函数来设置默认选项二
start = fields.Datetime('Date', default=fields.Datetime.now,)
finish = fields.Datetime('Date', default='_get_finish_date',)
from datetime import datetime , timedelta
@api.one
def _get_finish_date(self):
return datetime.now() + timedelta(hours=1)