Python用模块pytz来转换时区


Posted in Python onAugust 19, 2016

前言

最近遇到了一个问题:我的serverclient不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八区。处于测试需要,我需要向server发送一个时间,使得server在这个时间戳去执行一些动作。这个时间戳通常是当前时间加2分钟或者几分钟。

通常美东在夏令时时,和我们相差12小时,所以直接减掉这12小时,然后再加两分钟,可以实现发送基于server的时间戳,但是只有一半时间是夏令时,所以考虑还是基于时区来做。百度了一下,Python有一个模块pytz是时区相关的,但不是builtin方法,所以需要安装一下。

1. 首先安装pytz,pip install pytz.

2. 试了一下水,打印出美国的时区:

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
print(pytz.country_timezones('us'))#[u'America/New_York', u'America/Detroit', u'America/Kentucky/Louisville', u'America/Kentucky/Monticello', u'America/Indiana/Indianapolis', u'America/Indiana/Vincennes', u'America/Indiana/Winamac', u'America/Indiana/Marengo', u'America/Indiana/Petersburg', u'America/Indiana/Vevay', u'America/Chicago', u'America/Indiana/Tell_City', u'America/Indiana/Knox', u'America/Menominee', u'America/North_Dakota/Center', u'America/North_Dakota/New_Salem', u'America/North_Dakota/Beulah', u'America/Denver', u'America/Boise', u'America/Phoenix', u'America/Los_Angeles', u'America/Anchorage', u'America/Juneau', u'America/Sitka', u'America/Metlakatla', u'America/Yakutat', u'America/Nome', u'America/Adak', u'Pacific/Honolulu']

这个地方还真多,不过既然是东部,直接选New York就好了。

3. 下一步,打印出美东的current time。

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
import time
import datetime
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)

#2016-08-18 02:26:53

4. 将时间转换为秒,加上120秒,然后再转换回标准格式:

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
import time
import datetime

print(pytz.country_timezones('us'))
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)
b=time.mktime(time.strptime(a,'%Y-%m-%d %H:%M:%S'))+int(2)*60
print(time.strftime("%Y-%m-%d %H:%M",time.localtime(b)))

#2016-08-18 02:28

总结

以上就是在Python用模块pytz来转换时区的全部内容,希望本文的内容对大家学习使用Python能有所帮助。

Python 相关文章推荐
在Django的form中使用CSS进行设计的方法
Jul 18 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
python定时关机小脚本
Jun 20 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
python dataframe NaN处理方式
Dec 26 Python
python动态文本进度条的实例代码
Jan 22 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
Python如何给函数库增加日志功能
Aug 04 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 #Python
利用Python爬取可用的代理IP
Aug 18 #Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 #Python
Python实现命令行通讯录实例教程
Aug 18 #Python
Python采用Django开发自己的博客系统
Sep 29 #Python
浅析Python中元祖、列表和字典的区别
Aug 17 #Python
Python+django实现简单的文件上传
Aug 17 #Python
You might like
如何判断php数组的维度
2013/06/10 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
php开发工具有哪五款
2015/11/09 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
Python help()函数用法详解
2014/03/11 Python
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python类的专用方法实例分析
2015/01/09 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
遗传算法python版
2018/03/19 Python
详解Python的循环结构知识点
2019/05/20 Python
python数组循环处理方法
2019/08/26 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Python的in,is和id函数代码实例
2020/04/18 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Python random模块的使用示例
2020/10/10 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
应届本科生推荐信范文
2013/12/25 职场文书
医院辞职信范文
2014/01/17 职场文书
会计求职信怎么写
2015/03/20 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
院系推荐意见
2015/06/05 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
SpringRetry重试框架的具体使用
2021/07/25 Java/Android