用Python解析日期

用Python解析日期,python,date,parsing,time,Python,Date,Parsing,Time,我有一个输入的日期列表,如下所示 我正在处理一个项目,只希望从用户输入中接受格式为1990年4月1日或2003年1月13日(取任意月份)的日期,以及我不希望接受的任何其他日期格式。我正在苦苦思索如何使用replace或find函数来实现这些目标?一旦我收到该格式,我想以7/19/22的格式打印日期。如果我的日期格式正确,我会使用replace函数替换空格和逗号,但是我该如何取那个月并用它的数值替换它呢?对于所有这些问题我感到抱歉,我只是被卡住了,并且已经为此工作了一段时间 1990年4月1日 1

我有一个输入的日期列表,如下所示

我正在处理一个项目,只希望从用户输入中接受格式为1990年4月1日或2003年1月13日(取任意月份)的日期,以及我不希望接受的任何其他日期格式。我正在苦苦思索如何使用replace或find函数来实现这些目标?一旦我收到该格式,我想以7/19/22的格式打印日期。如果我的日期格式正确,我会使用replace函数替换空格和逗号,但是我该如何取那个月并用它的数值替换它呢?对于所有这些问题我感到抱歉,我只是被卡住了,并且已经为此工作了一段时间

1990年4月1日
1995年11月2日
7/19/22
2003年1月13日


2019年3月1日
这是我解析日期时的输出。还有更简单的方法来完成这项任务吗?

您应该看看Python
datetime
对象的
strtime
方法

基本上,您可以编写如下代码:

>>> from datetime import datetime
>>> datetime.strptime("January 13, 2003", "%B %d, %Y")
datetime.datetime(2003, 1, 13, 0, 0)

strtime
:您应该看看Python
datetime
对象的
strtime
方法

基本上,您可以编写如下代码:

>>> from datetime import datetime
>>> datetime.strptime("January 13, 2003", "%B %d, %Y")
datetime.datetime(2003, 1, 13, 0, 0)

strtime的文档

我真的不明白你要做什么。您说过您只希望接受用户输入的特定日期格式,而忽略其他日期格式

April 1, 1990      # Accept
January 13, 2003   # Accept
November 2 1995    # Ignore (lack of comma)
7/19/22            # Ignore (use numerical value in month field)
我想您是否愿意接受像2003年1月13日这样的格式,并以2003年1月13日的格式打印或保存

你应该考虑和方法<代码>日期时间< /COD>对象.< /P>

#从用户输入中获取日期字符串
日期\输入=输入(“请输入日期:”)
input_format=“%B%d,%Y”
输出格式=“%m/%d/%Y”
尝试:
parsered_date=datetime.datetime.strtime(日期输入,输入格式)
.strftime(输出格式)
打印(解析日期)
除值错误外:
打印(“这是不正确的日期字符串格式。”)

我真的不明白你要做什么。您说过您只希望接受用户输入的特定日期格式,而忽略其他日期格式

April 1, 1990      # Accept
January 13, 2003   # Accept
November 2 1995    # Ignore (lack of comma)
7/19/22            # Ignore (use numerical value in month field)
我想您是否愿意接受像2003年1月13日这样的格式,并以2003年1月13日的格式打印或保存

你应该考虑和方法<代码>日期时间< /COD>对象.< /P>

#从用户输入中获取日期字符串
日期\输入=输入(“请输入日期:”)
input_format=“%B%d,%Y”
输出格式=“%m/%d/%Y”
尝试:
parsered_date=datetime.datetime.strtime(日期输入,输入格式)
.strftime(输出格式)
打印(解析日期)
除值错误外:
打印(“这是不正确的日期字符串格式。”)