这是我的问题,我有两次我用Python,一个用于EST,另一个用于GMT。我需要将两者都转换为时代并进行比较。从我将EST转换为时代时的情况来看,它应该转换为我认为的GMT的完全等价物。它看起来不像:
from datetime import datetime as dt,datetime,timedelta
import time
# EST
date_time = '09.03.1999' + " " + "08:44:17"
pattern = '%d.%m.%Y %H:%M:%S'
epoch = int(time.mktime(time.strptime(date_time, pattern)))
print epoch
# GMT
date_time2 = '09.03.1999' + " " + "13:44:17.000000"
pattern2 = '%d.%m.%Y %H:%M:%S.%f'
epoch2 = int(time.mktime(time.strptime(date_time2, pattern2)))
print epoch2
答案 0 :(得分:0)
所以,我认为你这里的时代意味着什么令人困惑。 Epoch是时间的表示,它计算从1970/01/01 00:00:00到给定日期的秒数。
时代转换不关心时区,实际上你可以通过时区转换获得负时代时间(在http://www.epochconverter.com/处玩耍)。
一个真实的例子:我住在日本,所以当地时间0对我来说在GMT时代实际上是-32400。
你需要做的是做in this question之类的事情来首先在时区之间进行转换,然后将日期转换为时代转换。
以下是接受答案中的一些代码:
from datetime import datetime
from dateutil import tz
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')
# Tell the datetime object that it's in UTC time zone since
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)
# Convert time zone
central = utc.astimezone(to_zone)