J'essaie d'obtenir une sortie compatible RFC3339 à partir du module de temps de python, en utilisant la fonction time.strftime().Est-ce que python time.strftime traite correctement les options de fuseau horaire (pour RFC 3339)
Avec la commande 'date' Linux, je peux utiliser une chaîne de format comme suit: "date +% F_% T%: z"
$ date +%F_%T%:z
2017-06-29_16:13:29-07:00
Utilisé avec time.strftime python, le% : z ne semble pas être pris en charge.
$ python
>>> import time
>>> print time.strftime("%F %T%:z")
2017-06-29 16:16:15%:z
Apparemment, '% z' est supporté, mais '%: Z' est pas:
>>> print time.strftime("%F %T%z")
2017-05-29 16:15:35-0700
RFC3339 utilise spécifiquement le décalage horaire avec le côlon intégré. Ce serait 07:00 dans mon cas, au lieu de 0700.
Je crois que l'omission de la prise en charge de l'option "%: z 'est due à l'implémentation C sous-jacente de strftime() ne supportant pas les versions de timezone Ceci est '%: z', '% :: z', etc.
Y at-il une solution de contournement pour cela (par exemple un autre module python, ou une option qui me manque dans le 'temps' module), autre que l'écriture de code pour obtenir% z de sortie et reformatez-le au format%: z, pour résoudre ce problème?
EDIT: Une autre question (Generate RFC 3339 timestamp in Python) donne des solutions pour d'autres modules qui peuvent être utilisés pour sortir la sortie RFC3339 . Je suis aller J'essaie de répondre moi-même avec les informations que j'ai trouvées pour la question dans le titre.
Copie possible de [Générer l'horodatage RFC 3339 en Python] (https://stackoverflow.com/questions/8556398/generate-rfc-3339-timestamp-in-python) – viraptor
Il existe un [ RFC3339] (https://pypi.python.org/pypi/rfc3339) module sur PyPI qui pourrait faire ce que vous voulez. – Eric