2013-09-15 10 views
1
for proc in psutil.process_iter(): 
    if proc.name == "monit": 
     current_time = time.localtime() 
     proc_start_time = time.localtime(proc.create_time) 
     print (current_time - proc_start_time).seconds 

Я не могу найти разницу между двумя датами. Не можете вычесть их дать ошибку -
TypeError: неподдерживаемый тип операнда (ов) для -: 'time.struct_time' и '' time.struct_timedatetime разница в python

ответ

4

current_time и proc_start_time являются строками, потому что это то, что strftime возвращается.

Вы хотите избавиться от current_time и сделать proc_start_time = time.localtime(proc.create_time). Теперь у вас есть два объекта времени, которые позволят вам найти разницу.

+0

Я сделал два раза как объекты одного типа - current_time = time.localtime(); proc_start_time = time.localtime (proc.create_time); print (current_time - proc_start_time) .seconds .Still дает ошибку TypeError: неподдерживаемый тип операндов для -: 'time.struct_time' и 'time.struct_time' –

+0

@script_kiddie Я никогда не работал с этими типами объектов, но я работали с объектами datetime. Если вы конвертируете тех, кто использует [этот метод] (http://stackoverflow.com/questions/1697815/how-do-you-convert-a-python-time-struct-time-object-into-a-datetime-object) , ты должен быть способен. Извините, я не мог дать лучший ответ – TerryA

+0

dt = datetime.fromtimestamp (mktime (proc_start_time)) AttributeError: объект 'module' не имеет атрибута 'fromtimestamp', где proc_start_time - объект time.struct_time –

Смежные вопросы