J'ai les noms tz au format: "EDT", "CDT".Définir tz sur une instance datetime ayant uniquement la valeur tzname ("EDT", "CDT", ...)
Est-il possible de définir un fuseau horaire sur une instance datetime avec ces noms tz?
J'ai les noms tz au format: "EDT", "CDT".Définir tz sur une instance datetime ayant uniquement la valeur tzname ("EDT", "CDT", ...)
Est-il possible de définir un fuseau horaire sur une instance datetime avec ces noms tz?
Sur de nombreux systèmes Unix (y compris les * BSD, Linux, Solaris et Darwin), il est la base de données plus pratique d'utiliser le zoneinfo du système (tzfile (5)) pour spécifier les règles de fuseau horaire. Pour ce faire, définissez la variable de l'environnement TZ sur le chemin du fichier de données de fuseau horaire requis, par rapport à racine de la base de données de fuseaux horaires zoneinfo ', généralement située dans/usr/share/zoneinfo. Par exemple, «États-Unis/Europe de l'Est», «Australie/Melbourne», «Égypte» ou «Europe/Amsterdam».
>>> os.environ['TZ'] = 'US/Eastern'
>>> time.tzset()
>>> time.tzname
('EST', 'EDT')
>>> os.environ['TZ'] = 'Egypt'
>>> time.tzset()
>>> time.tzname
('EET', 'EEST')
Il fonctionne très bien avec les chaînes de fuseau horaire valide trop
Malheureusement, il ne s'agit pas de mon système. Ce sont les valeurs que je reçois dans les données JSON à partir de scraper. J'ai deux champs séparés - datetime et tz dans le format I défini supérieur. Et je dois d'une manière ou d'une autre appliquer tz à datetime. Je sais que 'America/Chicago' == 'CDT'. Si j'ai la chaîne 'America/Chicago' - je peux facilement le faire. Mais j'ai seulement la chaîne 'CDT' - et je ne peux pas trouver comment créer tz à partir de ça. – uCodista
Vous pouvez essayer l'objet creatr datetime à partir de la chaîne en utilisant strptime –
J'ai 2 valeurs; 'tstamp = 15051384000' ' tzname = « CDT'' ' import datetime comme dt' 'my_time = dt.datetime.fromtimestamp (tstamp)' Comment appliquer tz à "my_time" avec donné " tz_name "? – uCodista
La réponse courte est non. Cela ne peut pas être fait. Le duplicata auquel je suis lié explique pourquoi, dans la première partie de ma réponse là. –