Ich möchte das Jahr aus dem aktuellen Datum mit Python extrahieren.Wie wird das Jahr aus einem Python-Datetime-Objekt extrahiert?
In C#, das sieht aus wie:
DateTime a = DateTime.Now()
a.Year
Was in Python erforderlich ist?
Ich möchte das Jahr aus dem aktuellen Datum mit Python extrahieren.Wie wird das Jahr aus einem Python-Datetime-Objekt extrahiert?
In C#, das sieht aus wie:
DateTime a = DateTime.Now()
a.Year
Was in Python erforderlich ist?
Es ist in der Tat fast das gleiche in Python .. :-)
import datetime
year = datetime.date.today().year
Natürlich, Datum hat keine Zeit zugeordnet, also wenn Sie Auto e über das auch, können Sie das gleiche mit einem vollständigen Datetime-Objekt tun:
import datetime
year = datetime.datetime.today().year
(Offensichtlich nicht anders, aber man kann datetime.datetime.today() in einer Variablen speichern, bevor Sie das Jahr greifen, natürlich).
Eine wichtige Sache zu beachten ist, dass die Zeitkomponenten zwischen 32-Bit- und 64-Bit-Pythons in einigen Python-Versionen (2.5.x Baum denke ich) unterscheiden können. So werden Sie auf einigen 64-Bit-Plattformen Dinge wie Stunde/Minute/Sekunde finden, während Sie 32-Bit-Stunden/Minute/Sekunde erhalten.
import datetime
a = datetime.datetime.today().year
oder sogar (wie Lennart vorgeschlagen)
a = datetime.datetime.now().year
oder sogar
a = datetime.date.today().year
Die anderen Antworten auf diese Frage scheinen es zu treffen. Nun, wie würdest du das ohne Stacküberlauf herausfinden? Schauen Sie sich IPython an, eine interaktive Python-Shell, die eine automatische Vervollständigung der Registerkarte bietet.
> 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.
Tabulatortaste drücken, ein paar Mal, und Sie werden mit den Mitgliedern des „Jetzt“ Objekt aufgefordert:
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
und Sie werden sehen, dass now.year ist Mitglied das "jetzt" -Objekt.
Auch dies: http://docs.python.org/library/datatypes.html Aber ich danke Ihnen, ich wusste nicht über IPython –
Kudos für Problem * lösen * - Ergänzen der tatsächlichen Lösung. –
Wenn Sie das Jahr von einem (unbekannt) Datetime-Objekt wollen:
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
Obwohl jetzt() fühlt sich natürlicher an einem Datetime. datetime.date.today(). Jahr, vielleicht. :) –
Ich hatte nicht darüber nachgedacht, und ich denke, es fühlt sich mehr "genau" in Bezug auf die Zeit, wo heute() scheinen könnte, eine Präzision von Tagen implizieren. Seltsam, dass (zumindest in 2.5.4) datetime.today() und datetime.now() dasselbe tun –
Sie sind nicht ganz gleich, datetime.now() akzeptiert ein Zeitzonenobjekt, während datetime.today() ruft nur von timestamp (time.time()) auf, und so wird today() immer in dem sein, was Python für deine lokale Zeitzone hält, während du dir jetzt() ein paar interessantere Dinge erzählen kannst. –