Найти - Пользователи
Полная версия: разница между датами в numpy.datetime64 и datetime
Начало » Python для новичков » разница между датами в numpy.datetime64 и datetime
1
Begimot

Друзья, прошу подсказку!

Появилась у меня необходимость найти разницу в минутах между двумя переменными пот таких типов и значений (переменная, тип, значение):

self.common_p_targ_last_time_stamp
<class ‘numpy.datetime64’>
2023-12-01T05:12:09.682073000

shift_sys_time
<class ‘datetime.datetime’>
2023-12-01 08:23:15.567809+03:00

Читал-читал статьи в инете, что-то получается, но мне не нравится, как я делаю.
После долгих мучений у меня работает вот это:
crr_minutes_delay = (np.datetime64(shift_sys_time) - self.common_p_targ_last_time_stamp) / 1000000000 / 60

Причем тип данных результат имеет приставку “nanoseconds”.
А результат crr_minutes_delay мне потом надо сравнить с обычным числом типа “int”.
Что-то я явно делаю не то!

Посоветуйте, как правильнее выполнить эту операцию, пож-та!
py.user.next
Каждую дату переведи в секунды (представление даты-времени в секундах, начиная с 1 января 1970 (день рождения операционной системы UNIX)). Потом на секундах вычисли разницу и переведи её в минуты.
Begimot
Спасибо!
Так и сделаю…. в следующий раз.

Я понял, что неудачно вынимал данные из фрейма данных.
Я делал так:
date_of_data = self.all_tags_fr[self.all_tags_fr['TagName'] == tag_name]['date_of_data'].values[0]
При этом, я получал неудобный <class ‘numpy.datetime64’> и, вроде, терял часовой пояс (а мне он важен).
Применил это:
date_of_data = self.all_tags_fr[self.all_tags_fr['TagName'] == tag_name]['date_of_data'].iloc[0]
и стал получать удобный тип timestamp. А далее, дельта вычисляется как в учебнике для новичков.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB