datetime模块不工作,时间不正确



我添加了一个时间模块,日期是正确的,但由于某种原因,时间与PST完全不同。我仔细查看了时区,它说是太平洋标准时间,但时间仍然完全错误。

import time
clock = time.gmtime()
hm = time.strftime("%X", clock)
date = time.strftime("%x", clock)
print(time.strftime("%Z", clock))
print(date)
print(hm)

它只是打印出底部,但实际的PST时间是3:21,我该如何解决这个问题?

Pacific Standard Time
07/30/20
22:21:18

使用.localtime()

在链接中,有您需要的所有方法。

问题在于.gmtime()可能不是特定于时区的。

要获取特定于时区的时间,请尝试使用.localtime():

import time
t = time.localtime()
current_time = time.strftime("%H:%M:%S", t)
print(current_time)

问题是gmtime()在不存储时区信息的情况下获取UTC时间,在UTC时区中。您可能需要print(repr(clock))来获得有关时间表示的更多信息(包括所有内部数据(。正如您所看到的,使用localtime()可以获得相同的信息,只是在其他时区(而不是时区信息(。

所以你有一个时间,你打印这样的时间,而不给系统关于你所在时区的信息。

注意:CCD_ 7和CCD_;区域设置";(在描述中(不是作为本地时区,而是作为本地格式,例如如果用于";hh:mm";或";h: mm pm";,等

注意:time模块最近才获得时区信息,但只有在明确给定时才会使用,不会破坏旧程序。

一般来说,我建议您使用datetime模块:更好的界面,更容易发现时间是否具有时区意识(以及哪个时区(。

最新更新