Je voudrais extraire l'année à partir de la date actuelle en utilisant Python.Comment extraire l'année d'un objet datetime Python?
En C#, cela ressemble à:
DateTime a = DateTime.Now()
a.Year
Ce qui est nécessaire en Python?
Je voudrais extraire l'année à partir de la date actuelle en utilisant Python.Comment extraire l'année d'un objet datetime Python?
En C#, cela ressemble à:
DateTime a = DateTime.Now()
a.Year
Ce qui est nécessaire en Python?
Il est en fait presque le même en Python .. :-)
import datetime
year = datetime.date.today().year
Bien sûr, la date n'a pas de temps associé, donc si vous êtes en voiture e à ce sujet aussi, vous pouvez faire la même chose avec un objet datetime complet:
import datetime
year = datetime.datetime.today().year
(De toute évidence pas différent, mais vous pouvez stocker datetime.datetime.today() dans une variable avant de saisir l'année, bien sûr).
Une chose importante à noter est que les composants de temps peuvent différer entre les pythons 32 bits et 64 bits dans certaines versions de python (arbre 2.5.x je pense). 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é Lennart)
a = datetime.datetime.now().year
ou même
a = datetime.date.today().year
Les autres réponses à cette question semblent être sur la bonne voie. Maintenant, comment pourriez-vous comprendre cela par vous-même sans débordement de pile? Découvrez IPython, un shell Python interactif dont l'onglet est complété automatiquement.
> 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.
presse onglet plusieurs fois et vous serez invité les membres de l'objet « maintenant »:
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.__getattribute__ now.__new__ now.__str__ now.dst now.max now.resolution now.today now.utctimetuple
et vous verrez que now.year est membre de l'objet "maintenant".
En outre, cela: http://docs.python.org/library/datatypes.html Mais merci, je ne savais pas à propos de IPython –
Félicitations pour la résolution de problèmes * - en complément de la solution réelle. –
Si vous voulez que l'année d'un (inconnu) datetime-objet:
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
Bien que maintenant() se sent plus naturel sur un datetime. datetime.date.today(). Année, peut-être. :) –
Je n'avais pas pensé à ça, et je suppose que ça se sent plus "précis" par rapport au temps, où aujourd'hui() pourrait sembler impliquer une précision des jours. Bizarre que (au moins dans 2.5.4) datetime.today() et datetime.now() font la même chose –
Ils ne sont pas tout à fait le même, datetime.now() accepte un objet timezone, tandis que datetime.today() Il suffit d'appeler fromtimestamp (time.time()), et aujourd'hui() sera toujours dans tout ce que Python pense que votre fuseau horaire local est, alors que vous pouvez obtenir now() pour vous dire des choses un peu plus intéressantes. –