Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 检查服务器当前时区是否已启用DST_Python 2.7 - Fatal编程技术网

Python 2.7 检查服务器当前时区是否已启用DST

Python 2.7 检查服务器当前时区是否已启用DST,python-2.7,Python 2.7,我试图构建一个python脚本,将一些服务器指标导出到logstash。我似乎无法使它在启用夏令时的不同时区工作。无论是否启用DST,代码都会在同一时间返回。我目前的代码是: def get_formatted_tz(): tz = str.format('{0:05.2f}', float(time.timezone) / 3600 - time.daylight).replace('.', ':') return '-' + tz if time.timezone >

我试图构建一个python脚本,将一些服务器指标导出到logstash。我似乎无法使它在启用夏令时的不同时区工作。无论是否启用DST,代码都会在同一时间返回。我目前的代码是:

def get_formatted_tz():
    tz = str.format('{0:05.2f}', float(time.timezone) / 3600 - time.daylight).replace('.', ':')
    return  '-' + tz if time.timezone > 0 else '+' + tz
我这样调用函数:

formatted = time.strftime('%Y-%m-%dT%H:%M:%S')
tz = self.get_formatted_tz()
isodate = formatted + tz

我该如何改进这一点?非常感谢您的帮助

再四处搜索一下,找到了答案。我只使用时间库,现在我使用日期时间

ISO-8601的本地标准:

import datetime
datetime.datetime.now().isoformat()
import datetime
datetime.datetime.utcnow().isoformat()
UTC至ISO-8601:

import datetime
datetime.datetime.now().isoformat()
import datetime
datetime.datetime.utcnow().isoformat()

我发现了一个与你的问题无关的问题。。。通过将
替换为
,将浮点转换为时间。那不是你想要的。至于您实际询问的问题,请提供一个示例来说明不希望出现的行为。@glibdud我是python的初学者,必须以ISO8601格式导出时间。我无法单独使用时间库来实现这一点,因此我最终进行了这种黑客转换。例如:我的服务器当前处于BRST(UTC-2/巴西节约时间),但导出的时间始终为BRT(UTC-3/巴西时间)