在Python中设置时区

80 投票
5 回答
184183 浏览
提问于 2025-04-15 13:43

用Python设置时区,能不能像在PHP里那样简单呢:

date_default_timezone_set("Europe/London");
$Year = date('y');
$Month = date('m');
$Day = date('d');
$Hour = date('H');
$Minute = date('i');

我不能安装其他模块,因为我在用共享的网络主机。

有什么建议吗?

5 个回答

6

在Windows系统上,你可以这样做:

在Python中运行Windows命令提示符的命令。

import os
os.system('tzutil /s "Central Standard Time"')

在Windows命令提示符中尝试:

这个命令可以查看当前的时区:

tzutil /g

这个命令可以列出所有时区:

tzutil /l

这个命令可以设置时区:

tzutil /s "Central America Standard Time"

想了解更多,可以参考这个链接: http://woshub.com/how-to-set-timezone-from-command-prompt-in-windows/

15

请注意,运行

import os
os.system("tzutil /s \"Central Standard Time\"");

会改变Windows系统的时间,而不仅仅是本地的Python环境时间(所以这绝对和:

>>> os.environ['TZ'] = 'Europe/London'
>>> time.tzset()

不一样,这个只会设置当前环境的时间(仅在Unix系统中有效)

144
>>> import os, time
>>> time.strftime('%X %x %Z')
'12:45:20 08/19/09 CDT'
>>> os.environ['TZ'] = 'Europe/London'
>>> time.tzset()
>>> time.strftime('%X %x %Z')
'18:45:39 08/19/09 BST'

要获取你列出的具体值:

>>> year = time.strftime('%Y')
>>> month = time.strftime('%m')
>>> day = time.strftime('%d')
>>> hour = time.strftime('%H')
>>> minute = time.strftime('%M')

可以查看这里,里面有完整的指令列表。记住,strftime()这个函数总是会返回一个字符串,而不是整数或其他类型。

撰写回答