Python用模块pytz来转换时区

作者:daisy 时间:2021-05-27 20:09:32 

前言

最近遇到了一个问题:我的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,转换,时区
0
投稿

猜你喜欢

  • asp如何验证日期输入是否正确?

    2010-06-10 18:38:00
  • Python函数关键字参数及用法详解

    2023-08-13 00:34:06
  • FrontPage 2000主页设计问与答

    2008-08-02 12:37:00
  • Pytorch中如何调用forward()函数

    2023-06-14 21:00:24
  • go中的unsafe包及使用详解

    2023-10-13 17:07:27
  • 关于Python面向对象编程的知识点总结

    2021-06-21 18:15:43
  • Python过滤序列元素的方法

    2023-07-05 17:53:37
  • Python实现的简单线性回归算法实例分析

    2021-06-05 17:16:12
  • python单例模式之selenium driver实现单例

    2021-09-30 14:31:03
  • JavaScript点击按钮后弹出透明浮动层的方法

    2023-08-05 22:33:29
  • 详解tensorflow载入数据的三种方式

    2023-07-22 19:35:56
  • 《色彩解答》系列之一 色彩层次

    2008-02-17 14:26:00
  • ASP Access实现网站计数器(访问量)

    2011-04-10 10:33:00
  • 利用django-suit模板添加自定义的菜单、页面及设置访问权限

    2023-01-13 02:09:09
  • Python中使用urllib2模块编写爬虫的简单上手示例

    2023-10-18 22:14:31
  • js处理自己不能定义二维数组的方法详解

    2023-09-06 21:25:12
  • 和server XMLHTTP相关的几个函数

    2008-09-21 13:56:00
  • 详解Python遍历字典的键和值

    2021-07-19 23:02:14
  • Python的加密模块md5、sha、crypt使用实例

    2022-02-17 14:44:44
  • gethostbyaddr在Python3中引发UnicodeDecodeError

    2023-06-15 09:34:33
  • asp之家 网络编程 m.aspxhome.com