Advertisement

20、odoo时间转换成当前时区时间

阅读量:

odoo时间转换

点我下载完整odoo的demo

odoo系统预设采用的是零时区时间(较我国东八区晚8小时),然而在展示层则会根据用户的选定时区来呈现当前的时间。

时间区域配置方面需要注意的是,在系统参数中找到"设置 -> 用户 -> 首选项 -> 时间区域"这一部分进行操作。例如,在此界面中选择"Asia/Shanghai"作为时间区域设置后,默认显示的是东八区的时间。

然而,在某些特定情况下需要将0时区的时间转换为当前所在时区的时间。此时可用的代码实现如下。

复制代码
    import datetime
    import time
    
    import pytz
    
    create_date = '2016-05-05 20:28:54'  # 需要转换的时间
    utc_tz = pytz.timezone('UTC')
    utc_time = datetime.datetime.now(tz=utc_tz)
    now_time = datetime.datetime.now()
    
    now_between_utc_seconds = (now_time - utc_time.replace(tzinfo=None)).seconds
    time_start_val = time.mktime(time.strptime(create_date, "%Y-%m-%d %H:%M:%S")) + now_between_utc_seconds
    # 将数据库中的时间对象对应的时间戳转换回格式化字符串
    # 1,首先转换成localtime
    time_start_local_val = time.localtime(time_start_val)
    # 2.#转换成新的时间格式(比如2016-05-05 20:28:54)
    true_time_start = time.strftime("%Y-%m-%d %H:%M:%S", time_start_local_val)
    print(true_time_start)

输出:

复制代码
    2016-05-06 04:28:54

后记

后记

轻松学编程

后记

1257309054

1257309054

公众号

公众号
赞赏码

关注我,我们一起成长~~

全部评论 (0)

还没有任何评论哟~