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