odoo12 Date/Datetime,设置当天指定时间

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'

---------------------- 若有错误,感谢指正 ------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值