2020년 10월 18일 일요일

python datetime strftime 사용법

python strftime 함수를 사용할때 아래와 같은 표를 사용하게 됩니다.

코드

설명

%a

요일 줄임말

Sun, Mon, ... Sat

%A

요일

Sunday, Monday, ..., Saturday

%w

요일을 숫자로 표시, 월요일~일요일, 0~6

0, 1, ..., 6

%d

01, 02, ..., 31

%b

월 줄임말

Jan, Feb, ..., Dec

%B

January, February, …, December

%m

숫자 월

01, 02, ..., 12

%y

두 자릿수 연도

01, 02, ..., 99

%Y

네 자릿수 연도

0001, 0002, ..., 2017, 2018, 9999

%H

시간(24시간)

00, 01, ..., 23

%I

시간(12시간)

01, 02, ..., 12

%p

AM, PM

AM, PM

%M

00, 01, ..., 59

%S

00, 01, ..., 59

%Z

시간대

대한민국 표준시

%j

1월 1일부터 경과한 일수

001, 002, ..., 366

%U

1년중 주차, 월요일이 한 주의 시작으로

00, 01, ..., 53

%W

1년중 주차, 월요일이 한 주의 시작으로

00, 01, ..., 53

%c

날짜, 요일, 시간을 출력, 현재 시간대 기준

Sat May 19 11:14:27 2018

%x

날짜를 출력, 현재 시간대 기준

05/19/18

%X

시간을 출력, 현재 시간대 기준

'11:44:22'


그런데 요일이라던가 줄임으로 되어있는 부분이 있어서 이걸 필요한 경우가 있습니다.

이것을 새로 정리해보았습니다.


정리

코드

설명

%a

요일 줄임말

Sun,Mon,Tue,Wed,Thu,Fri,Sat

%A

요일

Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday

%w

요일을 숫자로 표시, 월요일~일요일, 0~6

0, 1, ..., 6

%d

01, 02, ..., 31

%b

월 줄임말

Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec

%B

January,February,March,April,May,June,July,August,September,October,November,December

%m

숫자 월

01, 02, ..., 12

%y

두 자릿수 연도

01, 02, ..., 99

%Y

네 자릿수 연도

0001, 0002, ..., 2017, 2018, 9999

%H

시간(24시간)

00, 01, ..., 23

%I

시간(12시간)

01, 02, ..., 12

%p

AM, PM

AM, PM

%M

00, 01, ..., 59

%S

00, 01, ..., 59

%Z

시간대

대한민국 표준시

출력시 아무것도 안나옴

%j

1월 1일부터 경과한 일수

001, 002, ..., 366

%U

1년중 주차, 월요일이 한 주의 시작으로

00, 01, ..., 53

%W

1년중 주차, 월요일이 한 주의 시작으로

00, 01, ..., 53

%c

날짜, 요일, 시간을 출력, 현재 시간대 기준

Sat May 19 11:14:27 2018

%x

날짜를 출력, 현재 시간대 기준

05/19/18

%X

시간을 출력, 현재 시간대 기준

'11:44:22'



datetime 사용법 정리

import datetime
from datetime import timedelta

# 현재 시각 구하기
print(datetime.datetime.now())

# 특정날짜로 시간 만들기
print(datetime.datetime(2002, 12, 31, hour=0, minute=0, second=0, microsecond=0))

# 특정 포맷으로 날짜 읽기
print(datetime.datetime.strptime('2002/12/25', '%Y/%m/%d'))

# 현재 시간을 특정 포맷으로 문자열 출력하기
print(datetime.datetime.now().strftime('%Y-%m-%d'))
print(datetime.datetime.now().strftime('%a %A'))

# ~~~~~~~~~~~~~~
print((datetime.datetime.now()+timedelta(days=0)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=1)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=2)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=3)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=4)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=5)).strftime('%a %A'))
print((datetime.datetime.now()+timedelta(days=6)).strftime('%a %A'))

print((datetime.datetime.now()+timedelta(days=31*0)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*1)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*2)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*3)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*4)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*5)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*6)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*7)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*8)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*9)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*10)).strftime('%b %B'))
print((datetime.datetime.now()+timedelta(days=31*11)).strftime('%b %B'))

결과
2020-10-18 23:07:12.158912
2002-12-31 00:00:00
2002-12-25 00:00:00
2020-10-18
Sun Sunday
Sun Sunday
Mon Monday
Tue Tuesday
Wed Wednesday
Thu Thursday
Fri Friday
Sat Saturday
Oct October
Nov November
Dec December
Jan January
Feb February
Mar March
Apr April
May May
Jun June
Jul July
Aug August
Sep September



댓글 없음:

댓글 쓰기