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的__builtin__模块中的一些要点知识
May 02 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python中将两个或多个list合成一个list的方法小结
May 12 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
Python爬虫之爬取二手房信息
Apr 27 Python
Python学习之os包使用教程详解
Mar 21 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php购物车实现方法
2015/01/03 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
Python break语句详解
2014/03/11 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
用Python解数独的方法示例
2019/10/24 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
应聘自荐书
2013/10/08 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
新闻发布会主持词
2014/03/28 职场文书
报告会主持词
2014/04/02 职场文书
安全教育演讲稿
2014/05/09 职场文书
年终奖发放方案
2014/06/02 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
单位租房协议书样本
2014/10/30 职场文书
学校财务管理制度
2015/08/04 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
总结Python变量的相关知识
2021/06/28 Python
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL