我在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它们在两个服务器中都是相同的。
我应该检查一些其他的东西吗?
答案 0 :(得分:0)
根据服务器的确切位置,该位置的时区可能在1998年到2008年之间发生了变化。例如,某些县在2006年和2007年切换了时区。一个服务器可能具有特定位置的正确时区数据其他可能不会。
答案 1 :(得分:0)
在我的本地服务器中,我的时区设置为America / Bahia,而在另一台服务器中则设置为America / Sao_Paulo。
在某些年份,日光并未应用于巴伊亚,因此它似乎导致了这两个时间之间的一小时差异。