如何在多个时间对象上使用解析器
How to use parser on multiple time objects
我有一个列表:
list = ['2022-06-01', '2022-02-02']
现在正在使用解析器将其转换为 python 日期对象。像这样,
from dateutil import parser
def to_date(value):
for data in value:
return parser.parse(data)
上面一个只给出了一个输出,但我需要两次输出并且还需要将其转换为这样的字符串:
From : June 1, 2022 | To: Feb. 28, 2022
解析器可以吗?
您只能从 to_date
函数返回一个值,因为您在第一次循环迭代中退出了该函数。您需要引入一个临时存储解析日期的列表:
from dateutil import parser
def to_date(date_list):
parsed_date_list = []
for date in date_list:
parsed_date_list.append(parser.parse(date))
return parsed_date_list
date_list = ['2022-06-01', '2022-02-02']
res = to_date(date_list)
或者使用列表推导来让你的代码更简洁:
from dateutil import parser
def to_date(date_list):
return [parser.parse(date) for date in date_list]
date_list = ['2022-06-01', '2022-02-02']
res = to_date(date_list)
要格式化您的字符串,只需使用 kpie 指出的 strftime
函数
在他的评论中:
# res = to_date(date_list)
date_format = "%b %d, %Y"
print(f"From: {res[0].strftime(date_format)} | To: {res[1].strftime(date_format)}")
不要使用 list
作为变量名。 list
是一种数据结构,因此已被 class list
.
您可以使用标准 datetime
库来执行解析。
datetime.datetime.strptime
允许您将日期时间字符串转换为日期时间对象。
datetime.datetime.strftime
允许您将日期时间对象转换为所需的字符串。
dt_from, dt_to = [datetime.datetime.strptime(x, "%Y-%m-%d") for x in dt_list]
dt_str = f"From : {datetime.datetime.strftime('%b %d,%Y', dt_from)} | To: {datetime.datetime.strftime('%b %d,%Y', dt_to)}"]
我有一个列表:
list = ['2022-06-01', '2022-02-02']
现在正在使用解析器将其转换为 python 日期对象。像这样,
from dateutil import parser
def to_date(value):
for data in value:
return parser.parse(data)
上面一个只给出了一个输出,但我需要两次输出并且还需要将其转换为这样的字符串:
From : June 1, 2022 | To: Feb. 28, 2022
解析器可以吗?
您只能从 to_date
函数返回一个值,因为您在第一次循环迭代中退出了该函数。您需要引入一个临时存储解析日期的列表:
from dateutil import parser
def to_date(date_list):
parsed_date_list = []
for date in date_list:
parsed_date_list.append(parser.parse(date))
return parsed_date_list
date_list = ['2022-06-01', '2022-02-02']
res = to_date(date_list)
或者使用列表推导来让你的代码更简洁:
from dateutil import parser
def to_date(date_list):
return [parser.parse(date) for date in date_list]
date_list = ['2022-06-01', '2022-02-02']
res = to_date(date_list)
要格式化您的字符串,只需使用 kpie 指出的 strftime
函数
在他的评论中:
# res = to_date(date_list)
date_format = "%b %d, %Y"
print(f"From: {res[0].strftime(date_format)} | To: {res[1].strftime(date_format)}")
不要使用 list
作为变量名。 list
是一种数据结构,因此已被 class list
.
您可以使用标准 datetime
库来执行解析。
datetime.datetime.strptime
允许您将日期时间字符串转换为日期时间对象。
datetime.datetime.strftime
允许您将日期时间对象转换为所需的字符串。
dt_from, dt_to = [datetime.datetime.strptime(x, "%Y-%m-%d") for x in dt_list]
dt_str = f"From : {datetime.datetime.strftime('%b %d,%Y', dt_from)} | To: {datetime.datetime.strftime('%b %d,%Y', dt_to)}"]