我在 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
请注意,在第一种情况下,结果是不同的。但在第二个中,它是一样的。
两个 python 版本是相同的。 我还检查了一些时间变量,例如 accept2dyear、altzone、daylight、tzname 和 timezone 它们在两个服务器中也相同。
我应该检查一些其他的东西吗?
请您参考如下方法:
根据服务器的确切位置,该位置的时区可能在 1998 年和 2008 年之间发生了变化。例如,一些县在 2006 年和 2007 年切换了时区。一台服务器可能具有特定位置的正确时区数据,并且其他可能不会。
