Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình định dạng lại ngày tháng sang YYYY-MM-DD trong Python

Cho chuỗi ngày tháng dạng "Day Month Year" (ví dụ: "23rd Jan 2021"). Chuyển sang định dạng "YYYY-MM-DD".

Day có dạng [1st, 2nd, ..., 31st], Month là [Jan, Feb, ..., Dec], Year là năm 4 chữ số (1900-2100).

Thuật toán

  • Tạo danh sách Months = ["Jan", "Feb", ..., "Dec"].
  • Tách chuỗi thành [day, month, year].
  • Lấy year = phần tử thứ 3.
  • Lấy day = phần tử thứ 1 bỏ 2 ký tự cuối (st, nd, rd, th). Nếu day 1 chữ số, thêm '0' đầu.
  • Lấy month = chỉ số của tháng trong Months + 1. Nếu 1 chữ số, thêm '0' đầu.
  • Trả về chuỗi "YYYY-MM-DD".

Ví dụ (Python)

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))

Đầu vào

"23rd Jan 2021"

Đầu ra

2021-01-23