我已经尝试过Python的get_prev()方法,以便根据cron字符串和当前时间获得最后的预定时间。
当我在windows机器上尝试时,它以24小时格式返回值。但是,当我通过AWS胶水(可能是Linux)尝试相同的代码时,它以12小时格式返回预定时间,而不使用AM/PM符号。
是否有任何方法强制croniter以24小时格式返回时间。
currentTime=datetime.now()
print(currentTime)
cron = croniter(cron_str, currentTime)
lastCronScheduleTime=cron.get_prev(datetime)
print(lastCronScheduleTime)发布于 2022-04-02 12:20:08
在您的示例中,get_prev返回一个datetime.datetime实例。
当datetime传递给print()时,首先通过调用其__str__方法将其转换为字符串。__str__方法调用isoformat() (见python文档)。
换句话说,您的示例的输出应该是ISO 8601格式,它总是使用24小时表示法。
我猜您看到的是不同的小时值,因为您的Windows和Linux机器使用不同的时区,而datetime.now()在系统的默认时区中返回一个天真的日期时间。
https://stackoverflow.com/questions/71717321
复制相似问题