不同位置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它们在两台服务器上也是一样的。

我应该检查一下其他的东西吗?

+1

你可以显示'mydate.timetuple()[8]'输出两个服务器和两个日期? –

+0

在这两种情况下他们都是一样的。当mktime被调用时,它只是发散。 –

在我的本地服务器中,我的时区设置为America/Bahia,另一个服务器是America/Sao_Paulo。

在某些年份,日光不适用于巴伊亚,所以它似乎导致了这个一小时之间的差异。

根据确切位置服务器,该位置的时区可能有1998年和2008年之间。例如改变,部分县市切换时区,在2006年和2007年的一台服务器可能有正确的时区数据的特定地点和其他可能不会。