这不起作用:
t = os.path.getmtime(filename)
dTime = datetime.datetime.fromtimestamp(t)
justTime = dTime.timetuple()
if justTime.tm_isdst == 0 :
tDelta = datetime.timedelta(hours=0)
else:
tDelta = datetime.timedelta(hours=1)
相反,发生的情况是条件始终等于 1,尽管某些时间戳在白天的保存时间内。
我正在尝试使python调用与基于c的调用的行为相匹配。
为什么假设文件系统用时区写下时间戳?
在服务器上,你坚持使用没有夏令时的UTC。在台式机上,您应该查找夏令时变化的最新时刻(开或关),并相应地校正时间。我不知道< code>pytz是否有这些信息,但这些信息在网上肯定是以机器可读的形式提供的。
请注意,在从DST转换期间的某些时刻,一些本地时间值会出现两次,并且无法判断特定时间戳(例如凌晨2:30)是发生在切换之前还是之后(一小时内)。
要了解给定时间戳是否与本地时区的夏令时 (DST) 相对应,请执行以下操作:
import os
import time
timestamp = os.path.getmtime(filename)
isdst = time.localtime(timestamp).tm_isdst > 0
可能会失败。要解决这些问题,您可以使用< code>pytz模块获得对tz数据库的可移植访问:
from datetime import datetime
import tzlocal # $ pip install tzlocal
local_timezone = tzlocal.get_localzone() # get pytz tzinfo
isdst = bool(datetime.fromtimestamp(timestamp, local_timezone).dst())
相关:使用Python找出时区当前是否处于夏令时。
看来我星期一早上有个案子!!! 正如你们所能看到的,我的本地机器位于东部时区,日光节约已经生效。这可以从下面的“日期”命令中看到。 然后我使用php生成了一个unix时间戳。它应该给出您当前的时间并在1970年1月1日的UTC 0:0:0将其转换为Unix纪元。 我的mysql会话被设置为UTC,我想象1460992469表示为mktime转换为UTC。 问题是转换回est不承认夏令时。谁能帮我指
夏令时间 选择[标准]或[夏令时间]。
问题内容: 如何检查夏令时是否有效? 问题答案: 您可以使用并查看返回值中的标志。 使用,您可以在任意时间问相同的问题,以了解DST在当前时区是否有效。
我有一个Java客户机,它正在以UTC格式在MySQL DB中插入(通过CSV和'Load DATA Infile')时间戳(type TIMESTAMP)。我的服务器的时区是“America/New_York”,我需要保留夏令时信息。11月5日凌晨2点是美国东部时间转换到东部时间的时候,时钟拨回一个小时到凌晨1点。例如,11月5日凌晨1:30,发生两次;EDT和EST各一次。 我该如何让服务器区
问题内容: 我正在编写一个处理很多时区并跨越时区的程序。我最常处理的两件事是从“ now”创建一个datetime对象,然后本地化一个朴素的datetime对象。 要从现在开始在太平洋时区创建datetime对象,我目前正在执行此操作(python 2.7.2+) 关于DST,这是否正确?如果没有,我想应该这样做: 我的问题是为什么?谁能告诉我第一个错误而第二个秒正确的情况? 至于我的秒数问题,假
问题内容: 我需要知道是否由以下时间段定义: 内部有一个DST。 我正在遍历{start,end}定义的时间段集合,并在每次迭代中将开始和结束时间提前24小时。结果周期从午夜开始,到下一个午夜之前的1 ms结束。我发现如果该期间在班次内有夏令时,则会产生错误的结果,例如: 具有: 然后完成转移: 产生: 我想知道JodaTime中是否有任何标准API可以检查一段时间内是否有DST? 问题答案: 使