不同位置mktime问题
问题描述:
我在python中遇到了日期问题。我在不同的地方用mktime得到不同的结果。不同位置mktime问题
在我的本地服务器上,如果我尝试:
>>> from datetime import date
>>> from time import mktime
>>> mydate = date(2008,1,1)
>>> mktime(mydate.timetuple())
1199156400.0
>>> mydate2 = date(1998,1,1)
>>> mktime(mydate2.timetuple())
883620000.0
但是,如果我尝试另一台服务器上,我得到:
>>> mydate = date(2008,1,1)
>>> mktime(mydate.timetuple())
1199152800.0
>>> mydate2 = date(1998,1,1)
>>> mktime(mydate2.timetuple())
883620000.0
需要注意的是,在最前一页的情况下,结果是不同。但在第二个,它是一样的。
这两个python版本都是一样的。 我也检查了一些时间变量,如accept2dyear,altzone,daylight,tzname和timezone它们在两台服务器上也是一样的。
我应该检查一下其他的东西吗?
答
在我的本地服务器中,我的时区设置为America/Bahia,另一个服务器是America/Sao_Paulo。
在某些年份,日光不适用于巴伊亚,所以它似乎导致了这个一小时之间的差异。
答
根据确切位置服务器,该位置的时区可能有1998年和2008年之间。例如改变,部分县市切换时区,在2006年和2007年的一台服务器可能有正确的时区数据的特定地点和其他可能不会。
你可以显示'mydate.timetuple()[8]'输出两个服务器和两个日期? –
在这两种情况下他们都是一样的。当mktime被调用时,它只是发散。 –