image.png

pytz

pytz将Olson tz数据库带入Python。该库允许使用Python 2.4或更高版本进行准确的跨平台时区计算。它还解决了夏令时结束时时间模糊的问题

安装

pip install pytz

image.png

验证下是否安装成功:

image.png

什么是UTC

“ UTC”是世界标准时间。它是格林威治标准时间(GMT)和世界时的各种定义的继承者,但又与之不同。UTC现在是调节时钟和时间测量的全球标准。

所有其他时区都是相对于UTC定义的,并包括UTC + 0800之类的偏移量-小时数,用于从UTC进行加减或加减以得出本地时间。UTC不会出现夏令时,因此它成为执行日期算术的有用时区,而不必担心夏令时转换,您所在国家/地区更改时区或漫游到多个时区的移动计算机所造成的混乱和歧义。

实战

pytz.country_timezones(‘国家代码’):此方法可以拿到某个国家的时区名列表。

查看下美国的时区:

# -*- coding: utf-8 -*-

import pytz

print(pytz.country_timezones('us'))

image.png

查看下中国的时区:

# -*- coding: utf-8 -*-

import pytz

print(pytz.country_timezones('cn'))

image.png

pytz.timezone(‘时区名’):此方法能获取一个tzinfo对象,该对象可在datetime生成时间中以参数的形式放入,即可生成对应时区的时间。

# -*- coding: utf-8 -*-

import pytz

import datetime

utc = pytz.timezone('UTC')

print(datetime.datetime.now(tz=utc))

查看有哪些时区

pytz有all_timezones、common_timezones这两个属性来查看有哪些时区。

# -*- coding: utf-8 -*-

import pytz

print(pytz.all_timezones)

print(pytz.common_timezones)

时间按时区转换

# -*- coding: utf-8 -*-

import pytz

import datetime

utc = pytz.timezone('UTC')

now_time = datetime.datetime.now(tz=utc)

print(now_time)

shanghai = pytz.timezone('Asia/Shanghai')

shanghai_time = datetime.datetime.now(tz=shanghai)

print(shanghai_time)

image.png

构建本地化时间

pytz库仅支持构建本地化时间的两种方式。

第一种是使用pytz库提供的localize函数。

这用于本地化原始日期时间(没有时区信息的日期时间):

# -*- coding: utf-8 -*-

import pytz

from datetime import datetime, timedelta

fmt = '%Y-%m-%d %H:%M:%S %Z%z'

eastern = pytz.timezone('US/Eastern')

print(eastern.zone)

loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))

print(loc_dt.strftime(fmt))

image.png

第二种方法是使用标准astimezone函数转换现有的本地化时间:

# -*- coding: utf-8 -*-

import pytz

from datetime import datetime, timedelta

fmt = '%Y-%m-%d %H:%M:%S %Z%z'

eastern = pytz.timezone('US/Eastern')

print(eastern.zone)

loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))

print(loc_dt.strftime(fmt))

amsterdam = pytz.timezone('Europe/Amsterdam')

ams_dt = loc_dt.astimezone(amsterdam)

print(ams_dt.strftime(fmt))

image.png

参考

python时区转换_Python pytz时区转换相关推荐

  1. python时间函数带时区_Python pytz时区函数返回的时区为9分钟 - python

    由于某些原因,我无法从以下代码中找出原因: >>> from pytz import timezone >>> timezone('America/Chicago' ...

  2. python判断字符大小写转换_Python 字符串大小写转换的简单实例

    ①所有字母都转换为大写 # -*- coding:utf-8 -*- if __name__ == "__main__": a = 'hello, world!' print(a. ...

  3. python实现文件编码转换_Python实现批量转换文件编码的方法

    本文实例讲述了Python实现批量转换文件编码的方法.分享给大家供大家参考.具体如下: 这里将某个目录下的所有文件从一种编码转换为另一种编码,然后保存 import os import shutil ...

  4. python大小写转换_python字符串大小写转换

    原博文 2020-03-24 15:48 − str = "www.runoob.com" print(str.upper()) # 把所有字符中的小写字母转换成大写字母 prin ...

  5. [转载] python隐式转换_Python | 数据类型的转换 显式转换 隐式转换

    参考链接: Python类型转换和类型转换 显式转换 # 首先对要转换的数据进行变量的声明 float_number = 1.5 int_number = 2 # 其他类型转换到字符串,使用的是str ...

  6. python 地图偏移_python 地图经纬度转换、纠偏的实例代码 百度地图经纬度web纠偏怎么用...

    天地图的经纬度 经过纠偏了么 给个例子证明下 如何用python实现百度地图墨卡托坐标跟经纬度坐标互转 麦哲伦机器: 系统设置 地图单位 自定义坐标系 横向墨卡托 原点纬度0 原点经度126(通化) ...

  7. python中单位转换_Python字节单位转换实例

    我就废话不多说了,直接上代码! from enum import Enum class Values(): values={'B':1} @staticmethod def getValues(): ...

  8. python 地图偏移_python 地图经纬度转换、纠偏的实例代码

    python 地图经纬度转换.纠偏的代码如下所示: # -*- coding: utf-8 -*- import json import urllib import math x_pi = 3.141 ...

  9. python怎么强制转换_python怎么强制转换类型

    python内提供了几种称为强制类型转换的函数,可以将一个变量的类型强制转换为另一种类型.比如,整型->浮点型,列表->元组. 我们在之前已经学习了很多种数据类型 · 整型 int · 浮 ...

  10. python编程语言转换_Python语言 编码转换与中文处理

    本文主要向大家介绍了Python语言 编码转换与中文处理,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python 编码转换与中文处理python 中的 unicode是让人很 ...

最新文章

  1. 关于Silverlight_Tools.exe安装不上的问题
  2. android ExpandableListView
  3. Oracle DBLink的简单运用
  4. ASP.net:Regex.Match 方法 中应该注意的几个问题
  5. 外挂学习之路(6)--- 选怪call
  6. python含多个附件的邮件_Python发送带有多个图像附件的电子邮件
  7. 关闭浏览器 清空session_跨境网络小知识之Session
  8. redis 缓存 淘汰
  9. opencv中图像伪彩色处理(C++ / Python)
  10. 使用FileOutputStream和ObjectOutputStream向文本文件中写多个对象的信息(序列化)
  11. tensorflow 2.X中构建模型的三种方式:Sequential, Functional, Subclassing
  12. 断点下载神器-RandomAccessFile
  13. 2022最新java坦克大战+免费源码+坦克大战图片
  14. 使用OpenOffice实现Word转Html
  15. 阿里玄难:面向不确定性的软件设计几点思考
  16. Dota2 on Ubuntu
  17. 被知网侵权长达13年!小说作家:一周前才知道
  18. mac环境下搭建frida环境并连接网易mumu模拟器
  19. 【树莓派】基于树莓派,实现无线路由功能
  20. 微信旧岛小程序章节目录

热门文章

  1. 如何彻底对chrome降级
  2. 智能存储 | 版权保护解决方案
  3. 如何每天学习10小时,依然精力充沛?(超实用教程)
  4. java版12306抢票_GitHub - a1647517212/J12306: 12306抢票程序JAVA版
  5. 万条票房数据看2019春节档各地影院表现
  6. SP商BI平台(MP子平台)——通信增值业务运营SP公司
  7. “百度有啊”可以访问了,大家预测一把其前景如何?
  8. 红米Note5官方刷机日记 - 小米助手Recovery刷机
  9. python必学的os模块详解_讨论 - 廖雪峰的官方网站
  10. 问卷设计中 你经常使用计算机吗,计算机应用基础课程调查问卷