Giả sử chúng ta có một chuỗi ngày ở định dạng "Ngày Tháng Năm" trong đó ngày có dạng như [1, 2, ..., 30, 31], các tháng ở định dạng [Tháng 1, Tháng 2, ... Tháng 11, Tháng 12] và năm là một giá trị số có bốn chữ số trong phạm vi 1900 đến 2100, chúng tôi phải chuyển đổi ngày này thành định dạng "YYYY-MM-DD".
Vì vậy, nếu đầu vào là date ="23 tháng 1 năm 2021", thì đầu ra sẽ là 2021-01-23
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
Tháng:=["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12 "]
-
string:=chia nhỏ ngày và tạo thành một danh sách như định dạng [ngày, tháng, năm]
-
năm:=string [2]
-
day:=string [0] bằng cách xóa hai ký tự cuối cùng
-
nếu ngày là số có một chữ số thì
-
nối "0" với ngày
-
-
month:=chuyển đổi chuỗi [1] thành tháng bằng cách sử dụng danh sách Tháng
-
nếu tháng là số có một chữ số thì
-
nối "0" với tháng
-
-
return (năm, tháng, ngày) ở định dạng "YYYY-MM-DD"
Ví dụ (Python)
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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