Python时区设置方法与pytz查询时区教程

yipeiwu_com6年前Python基础

时区的概念与转换

首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了。 例如北京时间的18:00就是18:00+08:00,相减以后就是10:00+00:00,因此就是格林威治时间的10:00。
而把格林威治时间加上当地时区,就能得到当地时间了。 例如格林威治时间的10:00是10:00+00:00,转换成太平洋标准时间就是加上-8小时,因此是02:00-08:00。
而太平洋标准时间转换成北京时间转换也一样,时区相减即可。 例如太平洋标准时间的02:00-08:00,与北京时间相差-16小时,因此结果是18:00+08:00。

Python时区的处理
发现python没有简单的处理时区的方法,不明白为什么Python不提供一个时区模块来处理时区问题。 好在我们有个第三方pytz模块,能够帮我们解决一下时区问题。

pytz简单教程

pytz查询某个的时区
可以根据国家代码查找这个国家的所有时区。

复制代码 代码如下:

>>> import pytz
>>> pytz.country_timezones('cn')
['Asia/Shanghai', 'Asia/Harbin', 'Asia/Chongqing', 'Asia/Urumqi', 'Asia/Kashgar']

pytz创建时区对象
根据上面得到的时区信息,就可以创建指定的时区对象。比如创建上海时区对象:

复制代码 代码如下:

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

得到某个时区的时间
然后在创建时间对象时进行指定上面时区,就可以得到指定时区的日期时间:

复制代码 代码如下:

>>> import datetime
>>> datetime.datetime.now(tz)

相关文章

Python字符串的修改方法实例

这篇文章主要介绍了Python字符串的修改方法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们在修改字符串时 通常遇到报错:...

Python实现自动发送邮件功能

Python实现自动发送邮件功能

简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件。Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或E...

Django中更改默认数据库为mysql的方法示例

Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。 由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用pytho...

python中对数据进行各种排序的方法

Python列表具有内置的 list.sort()方法,可以在原地修改列表。 还有一个 sorted()内置的函数从迭代构建一个新的排序列表。在本文中,我们将探讨使用Python排序数据...

pandas 快速处理 date_time 日期格式方法

当数据很多,且日期格式不标准时的时候,如果pandas.to_datetime 函数使用不当,会使得处理时间变得很长,提升速度的关键在于format的使用。下面举例进行说明: 示例数据:...