首页 > 解决方案 > 尝试将日期字符串转换为纪元格式。在特定环境中未考虑时区

问题描述

这是脚本:

#!/usr/bin/env python                                          

import subprocess                                              
import time                                                    
import os                                                      

date = 'Thu Dec 12 21:30:48 EST 2019'                          

date_split = date.split()                                      
timezone = date_split[4]                                       
os.environ['TZ'] = timezone                                       
date_format = '%a %b %d %H:%M:%S {} %Y'.format(timezone)       
date_epoch = int(time.mktime(time.strptime(date, date_format)))

print(date_epoch)   

在我的本地工作站(python 2.7.5)上,这工作正常。os.environ['TZ']我已通过修改 的值并检查输出是否更改来确保将时区考虑在内。

但是,在不同的系统(python 2.7.12)上,此脚本的输出与实际日期(以纪元格式)不匹配。我怀疑时区没有被考虑在内,我是对的。在这个系统上,当修改 的值时os.environ['TZ'],我在输出中看不到相应的变化。

关于为什么这不起作用的任何想法?

标签: pythondate

解决方案


推荐阅读