날짜가 [1st, 2nd, ..., 30th, 31st]이고 월이 [Jan, Feb, ... Nov, Dec] 형식이고 "Day Month Year" 형식의 날짜 문자열이 있다고 가정합니다. year는 1900에서 2100 사이의 4자리 숫자 값이므로 이 날짜를 "YYYY-MM-DD" 형식으로 변환해야 합니다.
따라서 입력이 날짜 ="2021년 1월 23일"과 같으면 출력은 2021-01-23
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
월:=["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" "]
-
string:=날짜를 분할하고 [일, 월, 연도] 형식과 같은 목록을 만듭니다.
-
연도 :=문자열[2]
-
day :=string[0] 마지막 두 문자를 제거하여
-
일이 한 자리 숫자인 경우
-
"0"을 일과 연결
-
-
월 :=월 목록을 사용하여 문자열[1]을 월로 변환
-
월이 한 자리 숫자인 경우
-
"0"을 월과 연결
-
-
"YYYY-MM-DD" 형식의 반환(년, 월, 일)
예제(파이썬)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(date): Months=["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] string=date.split() year = string[2] day = string[0][:-2] if len(day)<2: day="0"+day month = str(Months.index(string[1])+1) if len(month)<2: month="0"+month return "{0}-{1}-{2}".format(year, month, day) date = "23rd Jan 2021" print(solve(date))
입력
"23rd Jan 2021"
출력
2021-01-23