2009-07-15 88 views

回答

64

这其实在Python差不多了.. :-)

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

当然,日期没有时间关联,所以如果你的车Ë有关过,你可以做同样拥有完整的DateTime对象:

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

(显然没有什么不同,但你抢之前,你可以存储datetime.datetime.today()在一个变量的一年,当然)。需要注意的

一个关键的一点是,时间组分在某些Python版本(2.5.X树我认为),32位和64位的蟒蛇不同。因此,您可以在某些64位平台上找到诸如小时/分钟/秒之类的信息,而在32位系统上可以获得小时/分钟/秒。

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

甚至(如梅里建议)

a = datetime.datetime.now().year 

甚至

a = datetime.date.today().year 
+1

虽然现在()感觉上的日期时间更自然。 datetime.date.today()年,也许。 :) – 2009-07-15 18:43:53

+0

我没有想过这个问题,我想它确实感觉更“准确”的关于时间,在今日()似乎暗示天的精度。奇怪的是(至少在2.5.4)datetime.today()和datetime.now()做同样的事情 – 2009-07-15 18:48:36

11

另外这个问题的答案似乎打即期。现在你如何解决这个问题,没有堆栈溢出?查看IPython,这是一个具有标签自动完成功能的交互式Python shell。

> 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.__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是其成员“现在”的对象。

2

如果你想从一个(未知)日期时间,对象的年份:

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 
相关问题