Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 YYYY-MM-DD 형식으로 날짜를 다시 포맷하는 프로그램

<시간/>

날짜가 [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