Python 如何修改程序默认时区

 更新时间:2022年09月28日 17:14:13   作者:猫大叔  
这篇文章主要介绍了Python 如何修改程序默认时区,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何修改程序默认时区

由于系统安装时时区可能选择不对,并不是中国的东八区,导致依赖于日期时间函数无法正常使用

找到一个比较简单的方法

程序启动时加一行代码即可

os.environ['TZ'] = 'Asia/Shanghai'

关于datetime时区问题

使用阿里云函数计算功能,基于python3构建函数,在本机通过datetime.now获取当前时间与数据库存储时间对比,获取时间差,可正常运行。

上传到阿里云后运行错误,后检测发现阿里云服务器默认时间为utc时间。解决方法如下。

解决方案

第三方模块

pytz可以很方便的修改时区,但是需要再引入一个模块,所以没用这个。

import pytz
import datetime
tz = pytz.timezone('Asia/Shanghai')
datetime.datetime.now(tz)#获得此时区的当期那时间
#可以通过pytz.timezone('cn')获取中国的所有可用的时区
#['Asia/Shanghai', 'Asia/Harbin', 'Asia/Chongqing', 'Asia/Urumqi', 'Asia/Kashgar']

直接修改时区

下面转子

# 拿到UTC时间,并强制设置时区为UTC+0:00:
>>> utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
>>> print(utc_dt)
2015-05-18 09:05:12.377316+00:00
# astimezone()将转换时区为北京时间:
>>> bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
>>> print(bj_dt)
2015-05-18 17:05:12.377316+08:00
# astimezone()将转换时区为东京时间:
>>> tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt)
2015-05-18 18:05:12.377316+09:00
# astimezone()将bj_dt转换时区为东京时间:
>>> tokyo_dt2 = bj_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt2)
2015-05-18 18:05:12.377316+09:00

此方法直接获取很容易,包括使用pytz,但是这样获取到的dt类型都是带时区类型,此时直接和sql获取到的时间比较会出现“带时区与不带时区类型不可转换”的错误

直接加减

utc_dt = datetime.utcnow()
bj_dt = utc_dt+timedelta(hours=8)
delta_dt = bj_dt - sql_dt

此方案要求sql的计时时区要固定

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python字符串str和json格式相互转换

    Python字符串str和json格式相互转换

    这篇文章主要介绍了Python字符串str和json格式相互转换,str转换为json格式,前提一定需要保证这个str的格式和json是一致的。下文小编向大家介绍更多相关内容,需要的朋友可以参考一下
    2022-03-03
  • pytorch保存和加载模型的方法及如何load部分参数

    pytorch保存和加载模型的方法及如何load部分参数

    本文总结了pytorch中保存和加载模型的方法,以及在保存的模型文件与新定义的模型的参数不一一对应时,我们该如何加载模型参数,对pytorch保存和加载模型相关知识感兴趣的朋友一起看看吧
    2024-03-03
  • 重温Python基础之列表操作

    重温Python基础之列表操作

    这篇文章主要带大家来复习一下Python基础中的列表操作,不知道各位还记得多少呢?文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-11-11
  • python 提取文件指定列的方法示例

    python 提取文件指定列的方法示例

    这篇文章主要介绍了python 提取文件指定列的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 解决Python import .pyd 可能遇到路径的问题

    解决Python import .pyd 可能遇到路径的问题

    这篇文章主要介绍了解决Python import .pyd 可能遇到路径的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python根据欧拉角求旋转矩阵的实例

    Python根据欧拉角求旋转矩阵的实例

    今天小编就为大家分享一篇Python根据欧拉角求旋转矩阵的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Keras实现DenseNet结构操作

    Keras实现DenseNet结构操作

    这篇文章主要介绍了Keras实现DenseNet结构操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 在Python中使用M2Crypto模块实现AES加密的教程

    在Python中使用M2Crypto模块实现AES加密的教程

    这篇文章主要介绍了在Python中使用M2Crypto模块实现AES加密的教程,例子中的方法使用aes_128_ecb算法,需要的朋友可以参考下
    2015-04-04
  • 用python进行线性/非线性拟合的三种方法

    用python进行线性/非线性拟合的三种方法

    这篇文章主要给大家介绍了关于用python进行线性/非线性拟合的三种方法,数据分析中经常会使用到数据拟合,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 树莓派用python中的OpenCV输出USB摄像头画面

    树莓派用python中的OpenCV输出USB摄像头画面

    这篇文章主要为大家详细介绍了树莓派用python中的OpenCV输出USB摄像头画面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06

最新评论