Python 如何修改程序默认时区
作者:猫大叔 时间:2022-10-07 15:32:16
如何修改程序默认时区
由于系统安装时时区可能选择不对,并不是中国的东八区,导致依赖于日期时间函数无法正常使用
找到一个比较简单的方法
程序启动时加一行代码即可
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的计时时区要固定
来源:https://wiker.blog.csdn.net/article/details/88958448
标签:Python,修改,默认时区
0
投稿
猜你喜欢
javascript demo 基本技巧
2024-04-29 13:24:45
详解PANDAS 数据合并与重塑(join/merge篇)
2022-12-13 04:02:08
微信小程序 云开发模糊查询实现解析
2023-08-24 14:47:57
JS数组Array常用方法汇总+实例
2024-04-30 10:42:02
实例详解mysql子查询
2024-01-26 22:22:29
Go语言使用Gob传输数据
2023-08-06 05:12:28
Python 中的 Counter 模块及使用详解(搞定重复计数)
2022-08-22 15:46:17
pyqt5蒙版遮罩mask,setmask的使用
2022-04-05 21:00:58
特效代码:弹出一个淡入淡出的提示框
2008-05-22 17:11:00
在pycharm中python切换解释器失败的解决方法
2021-02-01 20:53:58
安装ElasticSearch搜索工具并配置Python驱动的方法
2021-03-12 12:07:52
Mysql命令大全(完整版)
2024-01-13 15:03:35
Vue.2.0.5过渡效果使用技巧
2024-04-10 10:33:12
go实现文件的创建、删除与读取示例代码
2023-06-17 05:10:50
安装和使用percona-toolkit来辅助操作MySQL的基本教程
2024-01-14 17:25:04
ASP.NET MVC实现区域或城市选择
2023-07-13 17:50:00
MySQL UNION操作符基础知识点
2024-01-21 10:24:31
MySQL的存储引擎InnoDB和MyISAM
2024-01-26 02:19:30
MySQL数据库的事务和索引详解
2024-01-21 00:40:48
通过python模糊匹配算法对两个excel表格内容归类
2023-02-14 20:57:49