날짜 format

박상영·2020년 5월 5일
0

주어진 문자열을 datetim.format을 이용하여 출력하기

value ex) '01.01.2000 00:00' -> 1 January 2000 year 0 hours 0 minutes

from datetime import datetime
def date_time(time):
	t = datetime.strptime(time, '%d.%m.%Y %H:%M')

우선 datetime모듈을 가져와 format할 준비를 한다.
format에는 다양한 방법이 있지만 주어진 값이 str()값이라고 한다면 strptime(str, format)형식을 사용할것이다.
t에 저장되는 값은 (2000, 1, 1, 0, 0)이 저장된다.

	y, m, d, h, mi = t.year, daetime.strftime(t, '%B'), t.day, t.hour, t.minute

t에 저장되 있는 값을 y, m, d, h , mi에 각각 대입을 해준다. ex) y = t.year(2000)
m에는 월 을 표시하는 값을 주어아하기때문에 strftime을 사용하였다. strptime은 문자열에 사용하고 strftime은 문자열이 아닌 값에 사용을 한다. 그러과서 '%b'는 줄임말이고 '%B'는 전체 이름이 나오기때문에 '%B'를 사용하여 m은 March같은 풀네임이 나오도록 값을 지정해준다.

	def suffix(n):
    		return 's' if n != 1 else ''

hour 와 minute에 s가 붙는지 안붙는지를 구하는 suffix함수를 만든다.

	return f'{d} {m} {y} year {h} hour{suffix(h)} {mi} minute{suffix(mi)}'

현재 작성한 코드는 python 3.6 이상의 버전에서 작성하였기 때문에 복잡한 format을 사용하지않고
f'를 사용하여 format을 작성하였다.
마지막에 format을 작성하여 값을 return 해주면 원하는 값의 출력을 얻을수있다.

profile
backend

0개의 댓글