错误 - 函数缺少必需的参数 'month'(位置 2),在尝试以固定格式获取时间时显示

Error - function missing required argument 'month' (pos 2), is displayed when trying to fetch time in fixed format

我正在尝试按以下格式获取 time,但出现错误,指出函数缺少 'month[=22 的必需参数=]'。如果有人能解决这个小困惑,那将是一个很大的帮助。

import datetime
startTimeList = ['drwxr-xr-x  3 plan 4096 Mar 21 02:00 file_listener', 'ksh', '010001', '0\n']
startTimeStr = int(startTimeList[2])
print(startTimeStr)
startTimeStr = datetime.datetime(startTimeStr)
startTime = startTimeStr.strftime("%I:%M:%S %p")
print(startTime)

预期输出:

010001
01:00:01 AM

显示错误:

function missing required argument 'month' (pos 2)

startTimeList[2] 转换为整数对您没有帮助,因为您需要再次将其转换回字符串。

datetime.datetime 需要整数参数 yearmonthday,这这不是你想做的。

您打算使用 datetime.datetime.strptime 将字符串 '010001' 解析为 datetime.datetime 对象,然后您可以再次使用 strftime 将其转换为不同格式的字符串:

import datetime

startTimeList = ['drwxr-xr-x  3 plan 4096 Mar 21 02:00 file_listener', 'ksh', '010001', '0\n']
startTimeStr = startTimeList[2]
print(startTimeStr)

startTime = datetime.datetime.strptime(startTimeStr, "%H%M%S")
startTimeResult = startTime.strftime("%I:%M:%S %p")
print(startTimeResult)

它给你 01:00:01 AM 然而,因为它无法知道 010001 意味着 pm 时间。