python 获取时区:大陆/国家

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 获取时区:大陆/国家相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python

#http://stackoverflow.com/questions/7669938/get-the-olson-tz-name-for-the-local-timezone
from hashlib import sha224
import os
from os import listdir
from os.path import join, isfile, isdir

infoDir = '/usr/share/zoneinfo/'

def get_current_olsonname():
    result = []
    tzfile_digest = sha224(open('/etc/localtime').read()).hexdigest()

    test_match = lambda filepath: sha224(open(filepath).read()).hexdigest() == tzfile_digest

    def walk_over(dirpath):
        for root, dirs, filenames in os.walk(dirpath):
            for fname in filenames:
                fpath = join(root, fname)
                if test_match(fpath):
                    result.append(tuple(root.split('/')[4:]+[fname]))

    for dname in listdir(infoDir):
        if dname in ('posix', 'right', 'SystemV', 'Etc'):
            continue
        dpath = join(infoDir, dname)
        if not isdir(dpath):
            continue
        walk_over(dpath)

    if not result:
        walk_over(join(infoDir))

    return result


if __name__ == '__main__':
    print get_current_olsonname()

以上是关于python 获取时区:大陆/国家的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中获取一个国家的大陆

从 iPhone 获取时区/国家

获取一个国家的默认时区(通过 CultureInfo)

使用 pytz 获取时区的国家代码?

如何获取用户所在的大陆?

获取iOS时区中的城市和国家/地区列表