Сохранение и загрузка объекта datetime в формате npy / pickle - PullRequest
2 голосов
/ 12 апреля 2020

Я пытаюсь вычислить разницу между двумя временными метками в минутах, если разница больше порога, я выполню задачу. До сих пор я пытался сделать разницу, но она выдает ошибку, так как разница даты и времени не дает мне никакого числа c.

Мне также нужно сохранить первый объект даты и времени как массив numpy / pickle вместо столбца базы данных, поскольку это более удобно для моей задачи.

import datetime
import time

a = datetime.datetime.now() # save this timestamp for later comparison

# save as numpy array

# load the array

time.sleep(100) # program closes, and re-opens

b = datetime.datetime.now()

# comparison in minutes

diff = b-a

# if diff > 60 minutes, do something

if diff > 60:
  pass

Ошибка, которую я получаю:

---> 20 if diff > 60:
     21   pass
     22 

TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'

1 Ответ

1 голос
/ 12 апреля 2020

Вот ваш обновленный код.

import datetime
import time
import numpy as np

a = datetime.datetime.now() # save this timestamp for later comparison

np_format = np.array([a.year, a.month, a.day, a.hour, a.minute, a.second, a.microsecond]) # all numeric values
np.save('date_old.npy', np_format)

a_load = np.load('date_old.npy')

a_loaded = datetime.datetime(a_load[0], a_load[1], a_load[2], a_load[3], a_load[4], a_load[5], a_load[6])

print(a)

print(a_loaded)

# save as numpy array

# load the array

time.sleep(100) # program closes, and re-opens

b = datetime.datetime.now()

# comparison in minutes

diff = (b-a_loaded).total_seconds()/60.

# if diff > 60 minutes, do something
print(diff)
if diff > 1:
  print('hello')


Выход:

2020-04-12 18:14:29.439318
2020-04-12 18:14:29.439318
1.6676882
hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...