如何从 Python 的 datetime 对象中提取年份?

我想使用 Python 从当前日期中提取年份。

在 C # 中,这看起来像:

 DateTime a = DateTime.Now()
a.Year

Python 需要什么?

415995 次浏览
import datetime
a = datetime.datetime.today().year

甚至(如 伦纳特建议)

a = datetime.datetime.now().year

甚至

a = datetime.date.today().year

实际上在 Python 中几乎是一样的. . : -)

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

当然,date 没有时间关联,所以如果您也关心这一点,那么可以对一个完整的 datetime 对象执行相同的操作:

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

(显然没有什么不同,但是您可以在获取年份之前将 datetime.datetime.today ()存储在一个变量中)。

需要注意的一个关键问题是,在某些 Python 版本(我认为是2.5. x 树)中,32位和64位 Python 的时间分量可能有所不同。因此,您可以在某些64位平台上找到小时/分钟/秒,而在32位平台上找到小时/分钟/秒。

这个问题的其他答案似乎说对了。现在,如何在不出现堆栈溢出的情况下自己解决这个问题呢?请查看 IPython,这是一个交互式 Python shell,具有 tab 自动完成功能。

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

按 Tab 键几次,你就会看到“ 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.__getattribute__  now.__new__           now.__str__           now.dst               now.max               now.resolution        now.today             now.utctimetuple

您将看到 现在,一年是“ now”对象的成员。

如果您想要一个(未知的) datetime-object 的年份:

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

提取年份很容易,如下所示。

from datetime import datetime


year = datetime.today().year