Étant donné un code qui imprime la date actuelle au format "2008 -11-22" en utilisant le module datetime, la question se pose de savoir pourquoi le même format n'est pas conservé lorsque la date est ajoutée à une liste et imprimé.
En Python, les dates sont traitées comme des objets, possédant à la fois une représentation sous forme de chaîne régulière (utilisée par print) et une représentation alternative (utilisée par repr) qui dénote leur nature d'objet. Lors de l'ajout de la date à une liste et de l'impression de la liste, la représentation alternative s'affiche, ce qui entraîne un résultat atypique.
Pour résoudre ce problème, il est crucial de maintenir l'utilisation d'objets date tout au long du processus de manipulation. Ce n'est que lorsqu'il est temps d'afficher la date qu'elle doit être convertie en représentation sous forme de chaîne à l'aide de str().
Dans le code fourni, imprimer explicitement l'objet date (pas la liste) utilisant str() produirait le résultat souhaité sortie :
mylist = [] today = datetime.date.today() mylist.append(today) print(str(mylist[0]))
Au-delà de la représentation par défaut, les dates peuvent être formatées selon des modèles spécifiques à l'aide de la méthode strftime(). Cette méthode fournit diverses options de formatage, telles que :
Par exemple, pour afficher la date comme "Nous sommes le 22 novembre 2008" :
print(today.strftime('We are the %d, %b %Y'))
Les dates peuvent s'adapter à la culture et à la langue locales lorsqu'elles sont utilisées de manière appropriée, mais cela implique des considérations plus complexes. Pour une exploration plus approfondie, consultez des ressources telles que Stack Overflow ou la documentation Python.
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!