파이썬 시간/날짜 모듈 (datetime 모듈, date클래스의 모든 메소드 설명)
datetime 모듈은 파이썬에서 시간/날짜 관련 클래스와 함수를 제공하는 모듈입니다. 이번 글에서는 datatime 모듈 안에 있는 date클래스를 공부해봅시다.
datatime 모듈 구조 -> data 클래스 구조 의 순서로 살펴봅시다. 아래는 datatime 모듈의 구조입니다.
>>> import datetime
>>> dir(datetime)
['MAXYEAR',
'MINYEAR',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'date',
'datetime',
'datetime_CAPI',
'sys',
'time',
'timedelta',
'timezone',
'tzinfo']
date 클래스가 보입니다. date클래스의 입력형식은 아래와 같습니다.
datetime.date(year, month, day)
아래는 인스턴스 생성 예시입니다.
>>> mdt=datetime.date(2020,9,13)
>>> mdt
datetime.date(2020, 9, 13)
이 클래스에 어떤 메소드를 사용할수 있는지 알아봅시다. 아래는 date 클래스의 구조입니다.
>>> dir(datetime.date)
['__add__',
'__class__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__le__',
'__lt__',
'__ne__',
'__new__',
'__radd__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__rsub__',
'__setattr__',
'__sizeof__',
'__str__',
'__sub__',
'__subclasshook__',
'ctime',
'day',
'fromisoformat',
'fromordinal',
'fromtimestamp',
'isocalendar',
'isoformat',
'isoweekday',
'max',
'min',
'month',
'replace',
'resolution',
'strftime',
'timetuple',
'today',
'toordinal',
'weekday',
'year']
위 메소드들을 하나씩 알아봅시다.
1) ctime
아래와 같은 형태로 결과를 반환합니다.
>>> mdt.ctime()
'Wed Sep 9 00:00:00 2020'
2) day
일(day)를 반환합니다.
>>> mdt.day
13
3) fromisoformat
YYYY-MM-DD 형식으로 date_string을 입력하면, 해당 인스턴스를 반환합니다.
>>> datetime.date.fromisoformat('2020-11-23')
datetime.date(2020, 11, 23)
4) fromtimestamp
유닉스 시간을 연/월/일 시간으로 바꿔줍니다. 유닉스시간은 time.time()으로 가져옵니다.
>>> datetime.date.fromtimestamp(time.time())
datetime.date(2020, 11, 23)
5) isocalendar
해당 날짜의 연도, week, weekday를 알려줍니다. (유럽은 우리처럼 '11월 셋째주' 이런식이 아니라 '48번째주' 이런식으로 소통하더라구요.)
>>> datetime.date(2020,11,23).isocalendar()
(2020, 48, 1)
6) isoformat
해당 날짜를 ISO 8601형식의 날짜로 반환합니다.
>>> datetime.date(2020,11,23).isoformat()
'2020-11-23'
7) isoweekday
요일을 숫자로 반홥합니다. 월요일이 1, 일요일이 7입니다.
>>> datetime.date(2020,11,23).isoweekday()
1
>>> datetime.date(2020,11,22).isoweekday()
7
8) max
표현가능한 최대 날짜를 반환합니다.
>>> datetime.date.max
datetime.date(9999, 12, 31)
9) min
표현가능한 최소 날짜를 반환합니다.
>>> datetime.date.min
datetime.date(1, 1, 1)
10) month
월을 반환합니다.
>>> datetime.date(2020,11,22).month
11
11) replace
연/월/일 을 입력값으로 수정하여 반환합니다.
>>> datetime.date(2020,11,22).replace(year=2012)
datetime.date(2012, 11, 22)
>>> datetime.date(2020,11,22).replace(year=2011,month=7)
datetime.date(2011, 7, 22)
>>> datetime.date(2020,11,22).replace(day=13)
datetime.date(2020, 11, 13)
12) resolution
입력 형식 하에서 가장 작은 차이를 반환합니다. 연/월/일 이라면 하루(1day)가 가장 작은 차이입니다.
>>> datetime.date(2020,11,14).resolution
datetime.timedelta(days=1)
13) strftime
입력된 포멧에 맞게 날짜를 반환합니다.
>>> datetime.date(2020,11,14).strftime('%Y')
'2020'
14) timetuple
struct_time 을 반환합니다. time모듈의 localtime 메소드와 같은 역할입니다.
>>> datetime.date(2020,11,14).timetuple()
time.struct_time(tm_year=2020, tm_mon=11, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=319, tm_isdst=-1)
15) today
오늘의 연/월/일을 반환합니다.
>>> datetime.date.today()
datetime.date(2020, 11, 23)
16) toordinal
그레고리력 서수를 반환합니다.
>>> datetime.date(2020,11,14).toordinal()
737743
17) weekday
요일을 숫자로 반환합니다. 월요일이 0, 일요일이 6입니다.
>>> datetime.date(2020,11,22).weekday()
6
>>> datetime.date(2020,11,23).weekday()
0
18) year
입력된 연도를 반환합니다.
>>> datetime.date(2020,11,23).year
2020
'12.날짜와 시간' 카테고리의 다른 글
파이썬 시간/날짜 모듈 (datetime 모듈, datetime 클래스의 모든 메소드 설명) (0) | 2020.11.23 |
---|---|
파이썬 시간/날짜 모듈 구조 분석 (time 모듈) (0) | 2020.11.20 |
파이썬 날짜/시간데이터 포멧팅하기 (time 모듈) (0) | 2020.11.20 |
파이썬 한국 현재 날짜/시간 출력 (time 모듈) (0) | 2020.11.20 |
파이썬 유닉스 시간을 연월일분초시 시간으로 바꾸기 (time 모듈) (1) | 2020.11.20 |
댓글