节点: Python, Traceback (most recent call last): File ".api.py", line 39, in output = api() File ".api.py", line 34, in API new_datetime_str = add_random_time_to_datetime(end_date_str) File ".api.py", line 22, in add_random_time_to_datetime end_datetime = datetime.strptime(end_date_str + ' 00:00:00', '%Y-%m-%d %H:%M:%S') File "/usr/local/lib/python3.6/_strptime.py", line 565, in _strptime_datetime tt, fraction = _strptime(data_string, format) File "/usr/local/lib/python3.6/_strptime.py", line 362, in _strptime (data_string, format))ValueError: time data '2024/06/26 00:00:00' does not match format '%Y-%m-%d %H:%M:%S'
可以先用个第三方库把 date string 转换回 date object 再处理就行了。
错误信息表明您提供的日期字符串
end_date_str使用了斜杠/作为日期分隔符,而不是您尝试解析的格式%Y-%m-%d %H:%M:%S中所使用的短横线-。因此,您需要确保日期字符串与解析格式匹配。为了解决这个问题,您可以将日期字符串中的斜杠替换为短横线,然后再进行解析。
import random
from datetime import datetime, timedelta
def generate_random_time_duration(max_minutes=59):
...(保持不变)...
def add_random_time_to_datetime(end_date_str, max_minutes=59):
替换日期字符串中的斜杠为短横线
end_date_str = end_date_str.replace('/', '-')
添加默认时间并解析为 datetime 对象
end_datetime = datetime.strptime(end_date_str + ' 00:00:00', '%Y-%m-%d %H:%M:%S')
...(保持不变)...
示例结束日期(只包含日期部分,但使用了斜杠)
end_date_str = '2024/06/26'