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
投稿

猜你喜欢

  • PyCharm连接远程服务器的超级详细教程

    2023-05-10 16:59:31
  • python 安全地删除列表元素的方法

    2022-11-20 16:21:35
  • MySQL查询条件常见用法详解

    2024-01-16 10:10:22
  • xhEditor的异步载入实现代码

    2022-01-29 10:40:28
  • Python中条件选择和循环语句使用方法介绍

    2023-01-08 23:08:03
  • Golang易错知识点汇总

    2024-01-31 14:56:13
  • Python实现Telnet自动连接检测密码的示例

    2021-10-05 11:08:37
  • jQuery渐变发光导航菜单的实例代码

    2024-04-09 19:47:36
  • Python中Turtle库改变画笔(海龟)方向的两种方法总结

    2022-04-21 11:09:52
  • python爬虫基础之简易网页搜集器

    2023-08-25 14:05:17
  • 如何做一个优秀的设计?

    2009-02-04 15:38:00
  • JS获取网页图片name属性的方法

    2024-04-28 09:46:19
  • 学ASP应该注意ASP程序书写的规范标准

    2008-10-17 10:16:00
  • Python 去除字符串中指定字符串

    2023-04-20 23:44:53
  • Python+OpenCV数字图像处理之ROI区域的提取

    2021-01-17 18:54:43
  • 从IIS到SQL Server数据库安全

    2008-12-24 15:58:00
  • python保存字典和读取字典的实例代码

    2023-05-12 14:17:54
  • python 使用tkinter+you-get实现视频下载器

    2023-08-15 18:40:25
  • 基于ExtJs框架的B/S高级查询界面

    2008-10-07 18:05:00
  • vue中的provide/inject的学习使用

    2024-04-27 16:08:55
  • asp之家 网络编程 m.aspxhome.com