Python - 以世纪格式转换UTC的12小时时间

时间:2018-04-03 20:24:29

标签: python timestamp utc

我有一个文本框,按照当地时间格式显示时间 - 04/03/2018 02:59:44 PM 我在python中使用Selenium来获取这个时间并将它(本地时间)转换为纪元时间(UCT)。但它正在转换到早于11小时30分钟的时间(2018年4月3日凌晨3:29:44)。这是我的代码:

next_chk_dt = myDriver.find_element_by_xpath("(//input[@id='dateIDVisible'])[6]").get_attribute('value')
# displays 04/03/2018 02:59:44 PM if you print the value
temp_Time2 = datetime.datetime.strptime(next_chk_dt, '%m/%d/%Y %H:%M:%S %p')
epoch_Time1 = calendar.timegm(temp_Time2.timetuple())
print (epoch_Time1)
# You get 1522726184, which is incorrect. it should be 1522781984 

2 个答案:

答案 0 :(得分:1)

calendar.timegm()从UTC转换为自纪元以来的秒数。

mktime()从本地时间转换为自纪元以来的秒数。

来源:https://docs.python.org/2/library/time.html

答案 1 :(得分:0)

我能够根据上面的建议解决这个问题

from time import strptime
from datetime import datetime
mytm= ("04/03/2018 02:59:44 PM")
fmt = ("%m/%d/%Y %I:%M:%S %p")
epochDate = int(time.mktime(time.strptime(mytm, fmt)))
print (epochDate)
# ==> 1522781984