python - 在 Python 中解析日期
问题描述
我有一个来自输入的日期列表,如下所示。
我正在做一个项目,只想从用户输入中接受格式为 1990 年 4 月 1 日或 2003 年 1 月 13 日(取任何月份)格式的日期,以及我不想接受的任何其他日期格式。我正在为如何使用替换或查找功能来实现这些目标而苦苦挣扎?收到该格式后,我想以 22 年 7 月 19 日的格式打印出日期。如果我有正确格式的日期,我使用替换函数来替换空格和逗号,但我将如何取那个月并用它的数值替换它?对于所有这些问题,我很抱歉,我只是卡住了,并且已经为此工作了一段时间。
1990 年 4 月 1 日
1995 年 11 月 2 日22 年
7
月 19 日 2003 年 1 月 13 日
userinput = input("Please enter date")
parsed_date = userinput.replace(" ", "/", 2)
new_parsed_date = parsed_date.replace(',',"")
print(new_parsed_date)
March/1/2019
这是我解析日期时的输出。还有更简单的方法来完成这项任务吗?
解决方案
你应该看看strptime
Pythondatetime
对象的方法。
基本上你会编写如下所示的代码:
>>> from datetime import datetime
>>> datetime.strptime("January 13, 2003", "%B %d, %Y")
datetime.datetime(2003, 1, 13, 0, 0)
文档strptime
:https ://docs.python.org/3/library/datetime.html#datetime.datetime.strptime
推荐阅读
- mirth - 从 SFTP 读取文件时,Mirth 生产通道进入池化
- hybris - hybris 中的 equals() 和 hashCode() 覆盖
- android - 使用材料设计与底部导航选项卡所选项目的不同背景颜色
- angular - 来自后端 .net 核心的角度加载图像
- python - cronjob 没有运行
- azure - 通过 Azure 应用注册向 Office 365 管理 API 授予权限问题
- azure - 我可以从 Azure Cosmos DB 读取/加载文档并同时获取其写入锁吗?
- botframework - 未能将 ngrokrequest 生成到 http://127.0.0.1:4041/api/tunnels 失败,原因:读取 ECONNRESET
- c++ - 基于变换范围的正常循环
- kubernetes - 我们如何在不使用 helm chart 的情况下将 jupyterhub 部署到 kubernetes?