odoo12 设置当天指定时间
接收字段为Datetime字段
@api.model
def get_today_end_datetime(self):
'''数据库时间为utc+0格林威治 中国时间为utc+8 数据库时间早八个小时'''
dt = fields.Date.to_string(fields.Date.today()) + ' 18:00:00 000000'
# 所以此处减去八个小时
dt = fields.Datetime.from_string(dt) - datetime.timedelta(hours=8)
return str(dt)
@api.model
def get_today_start_datetime(self):
'''数据库时间为utc+0格林威治 中国时间为utc+8 数据库时间早八个小时'''
dt = datetime.datetime.combine(datetime.date.today(), datetime.time(8,30,0))
# time_hour_distance = time.timezone / 3600
dt = dt + datetime.timedelta(hours=-8)
return str(dt)
odoo12 fileds.Date/fields.Datetime
to_date() 字符串转换成日期
to_datetime() 字符串转换成日期时间
to_string() 日期时间转换成字符串
函数所需的文本格式由 Odoo 通过如下方式默认预置:
odoo.tools.DEFAULT_SERVER_DATE_FORMAT
odoo.tools.DEFAULT_SERVER_DATETIME_FORMAT
它们分别与%Y-%m-%d和%Y-%m-%d %H:%M:%S相对应。
>>> fields.Datetime.to_datetime('2019-09-6 11:51:00')
datetime.datetime(2019, 9, 6, 11, 51)
>>> fields.Date.to_date('2019-09-6')
datetime.date(2019, 9, 6)
>>> d1
datetime.datetime(2019, 11, 6, 11, 55, 46)
>>> fields.Datetime.to_string(d1)
'2019-11-06 11:55:46'
---------------------- 若有错误,感谢指正 ------------------------------