Python 如何编写从任意格式的字符串中检索日期的函数
简而言之,我需要反转Python的操作Python 如何编写从任意格式的字符串中检索日期的函数,python,formatting,re,f-string,Python,Formatting,Re,F String,简而言之,我需要反转Python的操作f-string 使用此格式化程序,在Python中,您可以轻松地从包含日期的变量构建任意字符串。例如: f"{day}-{mon}-{year} \n {hour}:{minute}some silly\n text here_{seconds}" 其中,year等是表示期望值的整数 现在,我需要一个能够执行反向操作的函数,即给定一个以有趣(但已知)方式格式化的字符串,检索基础日期变量。大概是这样的: def retrieve_d
f-string
使用此格式化程序,在Python中,您可以轻松地从包含日期的变量构建任意字符串。例如:
f"{day}-{mon}-{year} \n {hour}:{minute}some silly\n text here_{seconds}"
其中,year
等是表示期望值的整数
现在,我需要一个能够执行反向操作的函数,即给定一个以有趣(但已知)方式格式化的字符串,检索基础日期变量。大概是这样的:
def retrieve_date(str_date, str_format):
# str_date is 27-03-2021 \n 04:11:some silly\n text here_34"
# str_format is something like "{day}-{mon}-{year} \n {hour}:{minute}some silly\n text here_{seconds}"
# some logic
# return the 6 integers that make up the time stamp
return year, month, day, hour, minute, second
如何在Python中实现这一点?如注释中所述,您可以使用。p代表“parse”,还有
strftime
,您可以使用它将日期格式化为特定字符串
from datetime import datetime
str_date = "27-03-2021 \n 04:11:some silly\n text here_34"
str_format = "%d-%m-%Y \n %H:%M:some silly\n text here_%S"
def retrieve_date(str_date, str_format):
d = datetime.strptime(str_date, str_format)
return d.year, d.month, d.day, d.hour, d.minute, d.second
print(retrieve_date(str_date, str_format))
(2021, 3, 27, 4, 11, 34)
请阅读以下内容:。“解析模块与format()”相反。如果您只处理日期/时间,则应查看。