不同的位置mktime问题

时间:2012-01-24 19:09:17

标签: python datetime time

我在python中遇到日期问题。我在不同的地方用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

请注意,在fisrt案例中,结果不同。但在第二个,它是相同的。

两个python版本都是一样的。 我还检查了一些时间变量,如accept2dyear,altzone,daylight,tzname和timezone它们在两个服务器中都是相同的。

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

2 个答案:

答案 0 :(得分:0)

根据服务器的确切位置,该位置的时区可能在1998年到2008年之间发生了变化。例如,某些县在2006年和2007年切换了时区。一个服务器可能具有特定位置的正确时区数据其他可能不会。

答案 1 :(得分:0)

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

在某些年份,日光并未应用于巴伊亚,因此它似乎导致了这两个时间之间的一小时差异。