我是编程和Python的新手,请原谅我的无知。 我正在尝试编写一个从“crontab”中提取数据的脚本。在RHEL计算机上列出并检查某个进程是否在所需的特定日期和时间运行(这是运行用户的&#c; crontab中的时间)。
我在流程的字符串中有运行日期和时间 - 就像:
" Fri Dec 23 16:20:39 2016"
如何比较这个时间是字符串(由空格和":"列之间)是否超过了RHEL机器上的当前本地时间?
我发现只检查小时(分钟和秒钟无关紧要)就足够了所以我在想:
from time import gmtime, strftime
strftime("%H %d %m %Y", gmtime())
返回:
' 18 08 01 2017'
换句话说,有没有办法将一个简单的元组/字符串转换成Python可以用来与另一个时间进行比较的时间?
谢谢!
答案 0 :(得分:0)
查看模块日期时间和函数strptime:
https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
这是一个示例脚本,可以执行您想要的操作:
$randomnumber=242;
$variables= array('var','var2','randomnumber');
for ($i = 0; $i < count($variables); $i++) {
// variable variable syntax here
unset(${$variables[$i]});
}
echo $randomnumber;
或者,如果您的时间戳是UTC,那么请使用datetime.utcnow(),而不是最后一行中的datetime.now()。
答案 1 :(得分:0)
您不需要strptime()
或 strftime()
- 您只需要python-dateutil
:
import datetime
from dateutil.parser import parse
datetime_str = "Fri Dec 23 16:20:39 2016"
print(parse(datetime_str) < datetime.datetime.now())
# prints "True", meaning that datetime_str is in the past