[python] Python datetime 객체에서 연도를 추출하는 방법은 무엇입니까?

Python을 사용하여 현재 날짜에서 연도를 추출하고 싶습니다.

C #에서는 다음과 같습니다.

 DateTime a = DateTime.Now() 
 a.Year

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 비트에서는시 / 분 / 초를 얻을 수 있습니다.


답변

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

또는 심지어 ( Lennart가 제안했듯이 )

a = datetime.datetime.now().year

또는

a = datetime.date.today().year


답변

이 질문에 대한 다른 답변은 그 자리를 차지한 것 같습니다. 이제 스택 오버플로없이 이것을 어떻게 스스로 알아낼 수 있습니까? 탭 자동 완성 기능이있는 대화 형 Python 셸인 IPython을 확인하세요 .

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

탭을 몇 번 누르면 “지금”개체의 구성원을 묻는 메시지가 표시됩니다.

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”개체의 구성원 임을 알 수 있습니다 .


답변

(알 수없는) 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


답변