我添加了一个时间模块,日期是正确的,但由于某种原因,时间与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
模块:更好的界面,更容易发现时间是否具有时区意识(以及哪个时区(。