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 相关文章推荐
python实现自动登录人人网并访问最近来访者实例
Sep 26 Python
实例Python处理XML文件的方法
Aug 31 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
Python字典的核心底层原理讲解
Jan 24 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
python 字符串格式化的示例
Sep 21 Python
python 利用opencv实现图像网络传输
Nov 12 Python
Python基础之数据类型知识汇总
May 18 Python
python小型的音频操作库mp3Play
Apr 24 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 cookie的操作实现代码(登录)
2010/12/29 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
基于JQuery的日期联动实现代码
2011/02/24 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现ftp客户端示例分享
2014/02/17 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
Python发展简史 Python来历
2019/05/14 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
一套带网友答案的.NET笔试题
2016/12/06 面试题
市场营销职业生涯规划书范文
2014/01/12 职场文书
伊索寓言教学反思
2014/05/01 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
工作收入证明范本
2015/06/12 职场文书
干部理论学习心得体会
2016/01/21 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python
SQL SERVER触发器详解
2022/02/24 SQL Server