Python/Function & Grammer
Python : datetime - 날짜 관련 라이브러리
채애
2021. 1. 21. 20:28
▶ 날짜 (datetime)
파이썬에는 날짜와 관련된 라이브러리가 있다. ( time module )
▶ 라이브러리 호출
import datetime
'import' 를 이용하여 datetime 라이브러리를 호출할 수 있다.
해당 라이브러리에 있는 클래스들을 사용하려면 꼭 import 해두어야 한다!
▶ 날짜 출력
▷▷ date.today
: 현재 OS 기준 날짜를 출력한다.
datetime.date.today()
* * 모든 결과는 글을 작성하는 오늘( 2021-01-21 ) 기준의 출력값입니다.
Code | 뜻 | output |
datetime.date.today() | 오늘 날짜 | 2021-01-21 |
datetime.date.today().year | 오늘 날짜 (년도) | 2021 |
datetime.date.today().month | 오늘 날짜 (월) | 1 |
datetime.date.today().day | 오늘 날짜 (일) | 21 |
▷▷ datetime.now
: 현재 날짜와 시간을 출력한다.
datetime.datetime.now()
* * 모든 결과는 글을 작성하는 오늘( 2021-01-21 수요일 ) 기준의 출력값입니다.
Code | 뜻 | output |
datetime.datetime.now() | 현재 날짜, 시간 | 2021-01-21 19:45:00.448691 |
datetime.datetime.now().year | 현재 년도 | 2021 |
datetime.datetime.now().month | 현재 월 | 1 |
datetime.datetime.now().day | 현재 일 | 21 |
datetime.datetime.now().hour |
현재 시 | 19 |
datetime.datetime.now().minute | 현재 분 | 45 |
datetime.datetime.now().second | 현재 초 | 0 |
datetime.datetime.now().microsecond | 현재 마이크로 초 | 448691 |
datetime.datetime.now().date() |
현재 년도, 월, 일 ( = datetime.date.today() ) |
2021-01-21 |
datetime.datetime.now().time() | 현재 시, 분, 초, 마이크로 초 | 19:45:00.448691 |
datetime.datetime.now().weekday() | 현재 요일 ( 0:월 ~ 6:일) | 3 |
▶ 날짜 <-> 문자 형변환
▷▷ strftime
1) 날짜 -> 문자
: 날짜를 문자로 변환한다.
너무 길어서 줄여서 나타내겠다.
" d = datetime.datetime.now() " 라고 가정하고 사용하겠다.
# 예를 들어,
datetime.datetime.now().strftime # 으로 써야되는데,
d.strftime # 라고 쓰겠다.
* * 모든 결과는 글을 작성하는 오늘( 2021-01-21 수요일 ) 기준의 출력값입니다.
Code | 뜻 | output |
d.strftime('%x') | 현재 월/일/년도 | 01/21/21 |
d.strftime('%F') | 현재 년도-월-일 | 2021-01-21 |
d.strftime('%Y') | 현재 년도 - 4자리 | 2021 |
d.strftime('%m') | 현재 월 - 2자리 | 01 |
d.strftime('%d') | 현재 일 | 21 |
d.strftime('%B') | 현재 월 (영문) | January |
d.strftime('%X') | 현재 시:분:초 | 20:01:32 |
d.strftime('%H') | 현재 시 (24시간 기준) | 20 |
d.strftime('%I') | 현재 시 (12시간 기준) | 08 |
d.strftime('%M') | 현재 분 | 01 |
d.strftime('%S') | 현재 초 | 32 |
d.strftime('%f') | 현재 마이크로 초 | 417818 |
d.strftime('%c') | 현재 날짜 시간 (요일 월 일 시:분:초 년도) |
Thu Jan 21 20:01:32 2021 |
d.strftime('%A') | 현재 요일 | Thursday |
d.strftime('%a') | 현재 요일 약자 | Thu |
d.strftime('%p') | 현재가 AM인지 PM인지 | PM |
d.strftime('%w') | 현재 요일 ( 0:일 ~ 6:토) | 4 |
d.strftime('%j') | 현재까지 누적 날짜 | 021 |
d.strftime('%U') | 현재까지 누적 주 (일요일 시작) | 03 |
d.strftime('%W') | 현재까지 누적 주 (월요일 시작) | 03 |
▷▷ strptime
2) 문자 -> 날짜
: 날짜를 문자로 변환한다.
datetime.datetime.strptime()
# ex)
datetime.datetime.strptime('2021-01-01','%Y-%m-%d')
▶ 날짜 계산
datetime 라이브러리를 이용하여 날짜를 계산하는 문제를 풀 수 있다.
▷▷ 날짜 - 날짜 일 수
# 날짜1, 날짜2 사이의 일 수
datetime.datetime(년도, 월, 일) - datetime.datetime(년도2, 월2, 일2)
#output
일수 days
import datetime
>>> print((datetime.datetime(2021,2,1)-datetime.datetime(2021,1,21)))
#output
11 days
오늘부터 다음달까지 11일밖에 안남은 것도 확인 할 수 있다.
▷▷ combine
: 날짜 + 시간 붙이기
datetime.datetime.combine(날짜, 시간)
import datetime
>>> d = datetime.date(2021,1,1)
>>> t = datetime.time(21,45,2,123456)
>>> print(datetime.datetime.combine(d, t))
#output
2021-01-01 21:45:02.123456