使用 Python 將日期格式化為 YYYY-MM-DD 格式的程式


假設我們有一個日期字串,其格式為“日 月 年”格式,其中日為 [1st, 2nd, ..., 30th, 31st] 格式,月為 [Jan, Feb, ... Nov, Dec] 格式,年為 1900 年到 2100 年之間的四位數字數值,我們需要將此日期轉換為“YYYY-MM-DD”格式。

因此,如果輸入類似於 date = "23rd Jan 2021",則輸出將為 2021-01-23

為了解決這個問題,我們將遵循以下步驟:

  • Months:= ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

  • string:= 將日期分割並形成一個類似 [day, month, year] 格式的列表

  • year := string[2]

  • day := string[0],刪除最後兩個字元

  • 如果 day 是個位數,則

    • 將“0”與 day 連線

  • month := 使用 Month 列表將 string[1] 轉換為月份

  • 如果 month 是個位數,則

    • 將“0”與 month 連線

  • 以“YYYY-MM-DD”格式返回 (year, month, day)

示例(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))

輸入

"23rd Jan 2021"

輸出

2021-01-23

更新於: 2021年5月17日

1K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.