La fonction utcnow () du module datetime peut être utilisée pour obtenir l'heure UTC actuelle.
>>> import datetime
>>> utc_datetime = datetime.datetime.utcnow()
>>> utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2010-02-01 06:59:19'
Comme le lien mentionné ci-dessus par Tom: http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/ dit:
L'UTC est un fuseau horaire sans heure d'été et toujours un fuseau horaire sans modifications de configuration dans le passé.
Toujours mesurer et stocker le temps en UTC .
Si vous devez enregistrer où le temps a été pris, stockez-le séparément.
Ne stockez pas l'heure locale + les informations de fuseau horaire!
REMARQUE - Si l'une de vos données se trouve dans une région qui utilise l'heure d'été, utilisez pytz
et consultez la réponse de John Millikin.
Si vous souhaitez obtenir l'heure UTC à partir d'une chaîne donnée et que vous avez la chance d'être dans une région du monde qui n'utilise pas l'heure d'été, ou si vous avez des données qui sont uniquement décalées de l'heure UTC sans application de l'heure d'été:
-> en utilisant l'heure locale comme base pour la valeur de décalage:
>>> # Obtain the UTC Offset for the current system:
>>> UTC_OFFSET_TIMEDELTA = datetime.datetime.utcnow() - datetime.datetime.now()
>>> local_datetime = datetime.datetime.strptime("2008-09-17 14:04:00", "%Y-%m-%d %H:%M:%S")
>>> result_utc_datetime = local_datetime + UTC_OFFSET_TIMEDELTA
>>> result_utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2008-09-17 04:04:00'
-> Ou, à partir d'un décalage connu, en utilisant datetime.timedelta ():
>>> UTC_OFFSET = 10
>>> result_utc_datetime = local_datetime - datetime.timedelta(hours=UTC_OFFSET)
>>> result_utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2008-09-17 04:04:00'
METTRE À JOUR:
Depuis python 3.2 datetime.timezone
est disponible. Vous pouvez générer un objet datetime sensible au fuseau horaire avec la commande ci-dessous:
import datetime
timezone_aware_dt = datetime.datetime.now(datetime.timezone.utc)
Si vous êtes prêt à effectuer des conversions de fuseau horaire, lisez ceci:
https://medium.com/@eleroy/10-things-you-need-to-know-about-date-and-time-in-python-with-datetime-pytz-dateutil-timedelta-309bfbafb3f7