使用 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+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告