如何从Python的datetime对象中提取年份?
我想用Python从当前日期中提取出年份。
在C#中,这样写:
DateTime a = DateTime.Now()
a.Year
在Python中需要怎么做呢?
5 个回答
21
其他人对这个问题的回答都很到位。那么,如果没有Stack Overflow,你该怎么自己找出答案呢?可以试试IPython,这是一个互动式的Python环境,支持按键自动补全。
> 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.year是“now”对象的一个成员。
36
import datetime
a = datetime.datetime.today().year
或者甚至(正如Lennart建议的)
a = datetime.datetime.now().year
或者甚至
a = datetime.date.today().year
246
其实在Python里也是差不多的.. :-)
import datetime
year = datetime.date.today().year
当然,日期本身并没有时间的部分,所以如果你也想要时间的话,可以用一个完整的日期时间对象来做同样的事情:
import datetime
year = datetime.datetime.today().year
(显然没有什么不同,但你可以先把datetime.datetime.today()存到一个变量里,然后再提取年份,当然可以这样做)。
需要注意的一点是,在某些Python版本中(我想是2.5.x系列),32位和64位的Python在时间的组成部分上可能会有所不同。所以在一些64位的平台上,你会看到小时/分钟/秒,而在32位的平台上,你会看到小时/分钟/秒(用英文写的)。