使用Python重新格式化日期为YYYY-MM-DD格式的程序
假设我们有一个日期字符串,格式为“Day Month Year”,其中天数如[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]
-
如果天是个位数,则
- 将“0”与day连接
- month:=使用Month列表将string [1]转换为月份
-
如果月份为个位数,则
- 将“0”与month连接
- 以“YYYY-MM-DD”格式返回(year,month,day)
更多Python相关文章,请阅读:Python 教程
示例(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