Comment créer tzinfo quand j'ai le décalage UTC?
J'ai un fuseau horaire le décalage de l'heure UTC en secondes (19800
) et aussi l'avoir dans un format de chaîne - +0530
.
Comment puis-je les utiliser pour créer un tzinfo
exemple? J'ai regardé dans pytz
, mais là je ne trouvais que des Api qui prennent le fuseau horaire nom à l'entrée.
- D'utilisation: agiliq.com/blog/2009/02/...
Vous devez vous connecter pour publier un commentaire.
Si vous le pouvez, prenez un coup d'oeil à l'excellent dateutil paquet au lieu de la mise en œuvre de ce vous-même.
Plus précisément, tzoffset. C'est un fixe décalage
tzinfo
instance initialisée avecoffset
, exprimé en secondes, qui est ce que vous cherchez.Mise à jour
Voici un exemple. Assurez-vous d'exécuter
pip install python-dateutil
premier.J'ai regardé le nom de
IST
à partir d'ici. Le nom peut vraiment être n'importe quoi. Juste être prudent si vous vous écartez, car si vous utilisez le code qui s'appuie sur le nom, cela pourrait conduire à des bugs plus tard.Par ailleurs, si vous avez le nom de fuseau horaire à l'avance, et votre système d'exploitation prend en charge, vous pouvez utiliser gettz à la place:
Python Standard Library (8.1.6) dit que :
Tout ce qui signifie que vous devrez fournir votre propre mise en œuvre pour la tzinfo. Par exemple :
Utilisation :
de sortie :
Vous avez à mettre en œuvre sous-classe de
datetime.tzinfo
classe. Guide général est décrit ici, où vous pouvez également trouver d'excellents exemples de la coutume tzinfo implémentations.Ici est un exemple (étant donné qu'il n'y a pas d'heure d'été) :
Avec Python 3.2 ou ultérieure, vous pouvez le faire à l'aide de la builtin datetime bibliothèque:
Pour résoudre votre problème spécifique, vous pouvez utiliser les regex:
Si vous avez pytz: