Comment rendre un objet datetime conscient (non naïf)
En Python, les objets datetime peuvent être naïfs ou conscients. Un objet naïf n’est pas associé à un fuseau horaire, contrairement à un objet conscient. Cela peut entraîner des problèmes lors de la comparaison d'objets datetime, car les objets naïfs ne peuvent pas être comparés à des objets conscients.
Il existe plusieurs façons de rendre un objet datetime naïf conscient. Une solution consiste à utiliser la méthode de localisation. La méthode localize prend un objet fuseau horaire pytz comme argument et renvoie un nouvel objet datetime qui connaît le fuseau horaire spécifié.
Par exemple :
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = pytz.utc.localize(unaware)
Cela créera un nouvel objet datetime qui connaît le fuseau horaire UTC.
Une autre façon de rendre un objet datetime naïf conscient est d'utiliser la méthode de remplacement. La méthode replace prend un certain nombre d'arguments de mots-clés, dont un pour l'attribut tzinfo. L'attribut tzinfo peut être défini sur un objet fuseau horaire pytz pour rendre l'objet datetime conscient.
Par exemple :
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = unaware.replace(tzinfo=pytz.UTC)
Cela créera également un nouvel objet datetime qui connaît l'UTC. fuseau horaire.
Une fois qu'un objet datetime est conscient, il peut être comparé à d'autres objets datetime conscients. Par exemple :
import datetime import pytz aware_1 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) aware_2 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) if aware_1 == aware_2: print("The two datetime objects are equal.")
Cela affichera "Les deux objets datetime sont égaux."
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!