Maison >développement back-end >Tutoriel Python >Pourquoi l'ajout d'une date à une liste Python modifie-t-il son format d'impression ?

Pourquoi l'ajout d'une date à une liste Python modifie-t-il son format d'impression ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 15:13:11522parcourir

Why Does Appending a Date to a Python List Change its Printed Format?

Comment imprimer une date dans un format régulier ?

É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é.

Le problème sous-jacent : traiter les dates comme des objets

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.

La solution : utiliser des représentations sous forme de chaîne

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().

Application pratique

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]))

Formatage avancé des dates

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 :

  • %d : numéro du jour (2 chiffres avec des zéros non significatifs)
  • %m : numéro du mois (2 chiffres avec des zéros non significatifs)
  • %b : Abréviation du mois (3 lettres)
  • %y : Numéro de l'année (2 dernières chiffres)
  • %Y : Numéro de l'année (4 chiffres complets)

Par exemple, pour afficher la date comme "Nous sommes le 22 novembre 2008" :

print(today.strftime('We are the %d, %b %Y'))

Localisation Considérations

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn