我有一个文本框,按照当地时间格式显示时间 - 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
答案 0 :(得分:1)
calendar.timegm()从UTC转换为自纪元以来的秒数。
mktime()从本地时间转换为自纪元以来的秒数。
答案 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