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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python实现三维拟合的方法
Dec 29 Python
python issubclass 和 isinstance函数
Jul 25 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
Python实现word2Vec model过程解析
Dec 16 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
python 如何引入协程和原理分析
Nov 30 Python
pytorch 6 batch_train 批训练操作
May 28 Python
总结Python变量的相关知识
Jun 28 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入门小知识
2008/03/24 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
全面理解闭包机制
2016/07/11 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
python 文件和路径操作函数小结
2009/11/23 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python版本单链表实现代码
2018/09/28 Python
使用pandas读取文件的实现
2019/07/31 Python
python 穷举指定长度的密码例子
2020/04/02 Python
python 两种方法删除空文件夹
2020/09/29 Python
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
应用英语专业自荐信
2014/01/26 职场文书
电视节目策划方案
2014/05/16 职场文书
感恩节活动策划方案
2014/05/16 职场文书
关于安全的标语
2014/06/10 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
标准发言稿结尾
2019/07/18 职场文书
java开发双人五子棋游戏
2022/05/06 Java/Android