Comment extraire l’année d’un object datetime Python?

Je voudrais extraire l’année de la date actuelle en utilisant Python.

En C #, cela ressemble à:

DateTime a = DateTime.Now() a.Year 

Que faut-il en Python?

C’est en fait presque la même chose en Python .. 🙂

 import datetime year = datetime.date.today().year 

Bien sûr, la date n’a pas de temps associé, donc si vous vous intéressez aussi à cela, vous pouvez faire la même chose avec un object datetime complet:

 import datetime year = datetime.datetime.today().year 

(Évidemment pas différent, mais vous pouvez stocker datetime.datetime.today () dans une variable avant de saisir l’année, bien sûr).

Un élément clé à noter est que les composants temporels peuvent différer entre les pythons 32 bits et 64 bits dans certaines versions de python (je pense que l’arborescence 2.5.x). Donc, vous trouverez des choses comme heure / min / sec sur certaines plates-formes 64 bits, tandis que vous obtenez heure / minute / seconde sur 32 bits.

 import datetime a = datetime.datetime.today().year 

ou même (comme suggéré par Lennart)

 a = datetime.datetime.now().year 

ou même

 a = datetime.date.today().year 

Les autres réponses à cette question semblent aller droit au but. Maintenant, comment vous en sortiriez-vous sans débordement de stack? Découvrez IPython , un shell Python interactif doté d’une tabulation automatique.

 > ipython import Python 2.5 (r25:51908, Nov 6 2007, 16:54:01) Type "copyright", "credits" or "license" for more information. IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: import datetime In [2]: now=datetime.datetime.now() In [3]: now. 

appuyez sur Tab plusieurs fois et vous serez invité avec les membres de l’object “now”:

 now.__add__ now.__gt__ now.__radd__ now.__sub__ now.fromordinal now.microsecond now.second now.toordinal now.weekday now.__class__ now.__hash__ now.__reduce__ now.astimezone now.fromtimestamp now.min now.strftime now.tzinfo now.year now.__delattr__ now.__init__ now.__reduce_ex__ now.combine now.hour now.minute now.strptime now.tzname now.__doc__ now.__le__ now.__repr__ now.ctime now.isocalendar now.month now.time now.utcfromtimestamp now.__eq__ now.__lt__ now.__rsub__ now.date now.isoformat now.now now.timetuple now.utcnow now.__ge__ now.__ne__ now.__setattr__ now.day now.isoweekday now.replace now.timetz now.utcoffset now.__getatsortingbute__ now.__new__ now.__str__ now.dst now.max now.resolution now.today now.utctimetuple 

et vous verrez que now.year est un membre de l’object “now”.

Si vous voulez l’année d’un object datetime (inconnu):

 tijd = datetime.datetime(9999, 12, 31, 23, 59, 59) >>> tijd.timetuple() time.struct_time(tm_year=9999, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=59, tm_sec=59, tm_wday=4, tm_yday=365, tm_isdst=-1) >>> tijd.timetuple().tm_year 9999