加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中计算不同时区的时间

发布时间:2020-08-04 18:14:19 所属栏目:Python 来源:互联网
导读:我正在使用来自两个不同时区的时间戳的数据集.以下是我要做的事情:1.从字符串创建时间对象t1;2.设置t1的时区;3.在不同的时区推迟时间t2.import time s = 2014-05-22 17:16:15 t1 = time.strptime(s, %Y-%m-%d %H:%M:%S) #Set timezone for t1 as US/

我正在使用来自两个不同时区的时间戳的数据集.以下是我要做的事情:

1.从字符串创建时间对象t1;

2.设置t1的时区;

3.在不同的时区推迟时间t2.

import time
s = "2014-05-22 17:16:15"
t1 = time.strptime(s,"%Y-%m-%d %H:%M:%S")
#Set timezone for t1 as US/Pacific
#Based on t1,calculate the time t2 in a different time zone
#(e.g,Central European Time(CET))

任何答案/评论将不胜感激..! 最佳答案 使用datetime和pytz

import datetime
import pytz
pac=pytz.timezone('US/Pacific')
cet=pytz.timezone('CET')
s = "2014-05-22 17:16:15"
t1 = datetime.datetime.strptime(s,"%Y-%m-%d %H:%M:%S")
pacific = pac.localize(t1)
cet_eur = pacific.astimezone(cet)
print pacific
print cet_eur

2014-05-22 17:16:15-07:00
2014-05-23 02:16:15+02:00

我想你想要datetime.timetuple

返回time.struct_time,例如time.localtime()返回的.小时,分钟和秒为0,DST标志为-1. d.timetuple()相当于time.struct_time((d.year,d.month,d.day,d.weekday(),yday,-1)),其中yday = d.toordinal () – 日期(d.year,1,1).toordinal()1是当前年份中从1月1日开始为1的日期编号.

  print datetime.date.timetuple(t1)
  time.struct_time(tm_year=2014,tm_mon=5,tm_mday=22,tm_hour=17,tm_min=16,tm_sec=15,tm_wday=3,tm_yday=142,tm_isdst=-1)

这是一个快速草案,但是pytz文档有很多好的和明确的例子

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读