如何在python中获取随机时区

如何在python中获取随机时区,python,python-datetime,Python,Python Datetime,我需要一些随机时区,但不知道如何使用python。时区应为GMT,并采用以下格式(示例) 你可以试试这样的 #!/usr/bin/python3 import pytz import random from datetime import datetime randZoneName = random.choice(pytz.all_timezones) randZone=datetime.now(pytz.timezone(randZoneName)) offset=randZone.strf

我需要一些随机时区,但不知道如何使用python。时区应为GMT,并采用以下格式(示例)


你可以试试这样的

#!/usr/bin/python3
import  pytz
import random
from datetime import datetime
randZoneName = random.choice(pytz.all_timezones)
randZone=datetime.now(pytz.timezone(randZoneName))
offset=randZone.strftime('%z')
print("(GMT%s:%s) %s"%(offset[:3],offset[3:],randZoneName))

你看了吗?从这个列表中随机选择一个条目:击败我。注意,
pytz.所有时区
pytz.公共时区
都有完整的可用时区列表。这意味着它们的分布并不均匀,因为一个时区可能有多个名称,而其他时区的名称可能较少。如果您想要从GMT-12到GMT+12的均匀分布,可以在-12和12之间选择一个随机数,然后选择一个命名的
pytz.timezone
#!/usr/bin/env python3
import random
import pytz
from datetime import datetime, timedelta, timezone

tz = set(pytz.all_timezones_set)
tz = list(tz)
selected_tz = pytz.timezone(tz[random(0,tz.length)])
step = timedelta(days=1)
start = datetime(2013, 1, 1, tzinfo=selected_tz)
end = datetime.now(selected_tz)
random_date = start + random.randrange((end - start) // step + 1) * step
#!/usr/bin/python3
import  pytz
import random
from datetime import datetime
randZoneName = random.choice(pytz.all_timezones)
randZone=datetime.now(pytz.timezone(randZoneName))
offset=randZone.strftime('%z')
print("(GMT%s:%s) %s"%(offset[:3],offset[3:],randZoneName))