날짜
1. import datetime
datetime라이브러리가 제공하는 클래스
1) date : 날짜만 저장
2) datetime : 날짜와 시간을 함께 저장
3) time, timedelta 등등...
1) datetime.date
: 현재 OS 기준 날짜 출력
import datetime # datetime 라이브러리 호출
datetime.date.today() | 년, 월, 일 | datetime.date(2020, 2, 25) |
datetime.date.today().year | 년 | 2020 |
datetime.date.today().month | 월 | 2 |
datetime.date.today().day | 일 | 25 |
2) datetime.datetime.now()
: 현재 날짜, 시간 출력
datetime.datetime.now() | 년, 월, 일, 시, 분, 초, 마이크로 초 | datetime.datetime(2020, 2, 25, 19, 44, 51, 477829) |
datetime.datetime.now().year | 년 | 2020 |
datetime.datetime.now().month | 월 | 2 |
datetime.datetime.now().day | 일 | 25 |
datetime.datetime.now().hour | 시 | 19 |
datetime.datetime.now().minute | 분 | 54 |
datetime.datetime.now().second | 초 | 8 |
datetime.datetime.now().microsecond | 마이크로 초 | 375291 |
datetime.datetime.now().date() | 년, 월, 일 ( = datetime.date.today()) | datetime.date(2020, 2, 25) |
datetime.datetime.now().time() | 시, 분, 초, 마이크로 초 | datetime.time(19, 55, 33, 199880) |
datetime.datetime.now().weekday() | 요일(0:월 ~ 6:일) | 1 |
2. 날짜 타입의 형변환
1) 날짜 -> 문자
datetime.datetime.now().strftime()
: 날짜를 문자로 변환
d = datetime.datetime.now() #변수에 시간 저장 / 변수에 저장한 시점으로 시간이 맞춰진다.
d.strftime('%x') | 월/일/년 | '02/25/20' |
d.strftime('%X') | 시:분:초 | '20:09:32' |
d.strftime('%Y') | 년도 4자리 | '2020' |
d.strftime('%m') | 월 2자리 | '02' |
d.strftime('%d') | 일 | '25' |
d.strftime('%B') | 월 이름 (영문) | 'February' |
d.strftime('%H') | 시 (24시간 기준) | '20' |
d.strftime('%I') | 시 (12시간 기준) | '08' |
d.strftime('%M') | 분 | '09' |
d.strftime('%S') | 초 | '32' |
d.strftime('%f') | 마이크로 초 | '514801' |
d.strftime('%Y-%m-%d %H:%M:%S.%f') | 년-월-일 시:분:초.마이크로 초 | '2020-02-25 20:09:32.514801' |
d.strftime('%A') | 요일 | 'Tuesday' |
d.strftime('%a') | 요일 약자 | 'Tue' |
d.strftime('%c') | 날짜 시간 | 'Tue Feb 25 20:09:32 2020' |
d.strftime('%p') | AM / PM | 'PM' |
d.strftime('%j') | 누적 날짜 | '056' |
d.strftime('%U') | 누적 주 (일요일 시작) | '08' |
d.strftime('%W') | 누적 주 (월요일 시작) | '08' |
d.strftime('%w') | 요일 (0:일 ~ 6:토) | '2' |
d.strftime('%F') | 년-월-일 | '2020-02-25' |
2) 문자 -> 날짜
datetime.datetime.strptime()
: 문자를 날짜로 변환
datetime.datetime.strptime('2020-02-25 13:42:00','%Y-%m-%d %H:%M:%S')
: 년, 월, 일, 시, 분 (초는 0이므로 출력X)
datetime.datetime(2020, 2, 25, 13, 42)
3. 날짜 계산
d = datetime.date(2020,2,25) t = datetime.time(13,45,2,123456) datetime.datetime.combine(d,t) |
d = 날짜 저장 |
datetime.datetime(2020, 2, 25, 13, 45, 2, 123456) |
datetime.datetime(2020,2,25) | 년, 월, 일, 시, 분 | datetime.datetime(2020, 2, 25, 0, 0) |
datetime.datetime(2020,2,25) - datetime.datetime(2020,1,16) |
날짜 - 날짜 = 일수 |
datetime.timedelta(days=40) |
(datetime.datetime(2020,2,25) - datetime.datetime(2020,1,16)).days |
날짜 - 날짜 일수만 출력 |
40 |
datetime.datetime(2020,2,25) + datetime.timedelta(days=93) |
날짜 + 일수 = 일수만큼 더해진 날짜 |
datetime.datetime(2020, 5, 28, 0, 0) |
datetime.datetime(2020,2,25) + datetime.timedelta(hours = 1) |
날짜 + 시간 (시) = 날짜와 더해진 시간 |
datetime.datetime(2020, 2, 25, 1, 0) |
datetime.datetime(2020,2,25) + datetime.timedelta(minutes = 60) |
날짜 + 시간 (분) = 날짜와 더해진 시간 |
datetime.datetime(2020, 2, 25, 1, 0) |
datetime.datetime(2020,2,25) + datetime.timedelta(seconds = 3600) |
날짜 + 시간 (초) = 날짜와 더해진 시간 |
datetime.datetime(2020, 2, 25, 1, 0) |
달력
1. import calendar
claendar 라이브러리 호출 :
import calendar
2020년 달력보기 :
calendar.calendar(2020)
다듬어진 2020년 달력보기 :
print(calendar.calendar(2020)) # 안에 포맷문자가 있어서 깔끔하게 출려된다.
calendar.prcal(2020) # print문 안쓰고 깔끔하게 출력하기
년, 월 지정해서 달력 출력 :
calendar.prmonth(2020,2)
입력한 년, 월, 일의 요일(0:월 ~ 6:일) 출력 :
calendar.weekday(2020,2,25)
입력한 년, 월의 1일의 요일, 마지막 일 출력 :
calendar.monthrange(2020,2)
요일(한글)로 나타내기 :
'월화수목금토일'[calendar.weekday(2020,2,25)]
2. import dateutil
dateutil 라이브러리 호출 :
import dateutil
년, 월, 일, 시, 분 출력하기 :
dateutil.parser.parse('2020-02-25')
현재날짜 + 월 수 :
datetime.date.today() + dateutil.relativedelta.relativedelta(months=3)
현재날짜 - 월 수 :
datetime.date.today() - dateutil.relativedelta.relativedelta(months=3)
datetime.date.today() + dateutil.relativedelta.relativedelta(months=-3)
현재날짜 + 년 수 :
datetime.date.today() + dateutil.relativedelta.relativedelta(years = 10)
모듈명 줄여서 쓰기
from datetime import date
from dateutil.relativedelta import relativedelta
date.today() + relativedelta(years = 10) | 현재 날짜 + 입력한 년 수 |
datetime.date(2030, 2, 26) |
date.today() + relativedelta(years = 10, months = 3) |
현재 날짜 + 입력한 년 수, 월 수 |
datetime.date(2030, 5, 26) |
date.today() + relativedelta(days=7, hours=10, minutes=30, seconds = 50) |
현재 날짜 + 입력한 일 수, 시간, 분, 초 |
datetime.datetime(2020, 3, 4, 10, 30, 50) |
date.today() + relativedelta(weeks = 1, days = 1) |
현재 날짜 + 입력한 주 수, 일 수 |
datetime.date(2020, 3, 5) |
date.today() + relativedelta(weekday = calendar.FRIDAY) |
현재 날짜를 기준으로 입력한 요일이 가장 날짜 / 요일은 영문 대문자 | datetime.date(2020, 2, 28) |
'컴퓨터 > 파이썬' 카테고리의 다른 글
파이썬(Python) - collections.Count() / map (0) | 2020.02.27 |
---|---|
파이썬(Python) - 파일 열기 모드 / with문 (0) | 2020.02.26 |
파이썬(Python) - 파이썬 파일(.py) 저장 및 불러오기 (0) | 2020.02.25 |
파이썬(Python) - 교양 수학으로 코딩 연습 (0) | 2020.02.25 |
파이썬(Python) - 재귀 호출 / 스택(stack) / 유클리드 호제법 (0) | 2020.02.24 |