Python разница между датой и временем между двумя датами в секундах (объект фрейма данных) - PullRequest
0 голосов
/ 09 июля 2020

Python требуется справка по коду: у меня есть разница в дате и времени создания и закрытия в этом формате - 30.01.2020 1:55:00 и 30.01.2020 09:44:00. Необходимо преобразовать указанную выше разницу формата даты в общее количество секунд. Как я могу когда-нибудь разница будет в днях и времени вроде - 25 дней, 05:23:00. Как преобразовать указанный выше формат разницы во времени между двумя датами в общее количество секунд и сохранить его в том же фрейме данных, что и новый столбец.

Любая предоставленная помощь будет принята с благодарностью.

Ответы [ 3 ]

0 голосов
/ 09 июля 2020

У объекта datetime есть метод timestamp (), который возвращает количество секунд с начала 1970 года. Просто сделайте это для обоих значений datetime и вычтите.

seconds = date1.timestamp() - date2.timestamp()
0 голосов
/ 09 июля 2020

Если вы используете pandas dataframe, вы можете использовать series dt accessor для преобразования разницы между датами в секунды.

import pandas as pd

df = pd.DataFrame(data={
    'from': ["01/30/2020 1:55:00", "01/25/2020 15:30:00"],
    'to': ["01/30/2020 09:44:00", "01/26/2020 1:55:00"]})

# convert to datetime objects
df['from'] = pd.to_datetime(df['from'])
df['to'] = pd.to_datetime(df['to'])

df['difference'] = (df['to'] - df['from'])

df['difference_seconds'] = df['difference'].dt.total_seconds()

print(df)

Это даст таблицу например:

|    | from                | to                  | difference      |   difference_seconds |
|---:|:--------------------|:--------------------|:----------------|---------------------:|
|  0 | 2020-01-30 01:55:00 | 2020-01-30 09:44:00 | 0 days 07:49:00 |                28140 |
|  1 | 2020-01-25 15:30:00 | 2020-01-26 01:55:00 | 0 days 10:25:00 |                37500 |
0 голосов
/ 09 июля 2020

Этот код может вам помочь.

import datetime

date1 = "01/30/2020 1:55:00"
date2 = "01/30/2020 09:44:00"

date1_obj = datetime.datetime.strptime(date1, '%m/%d/%Y %H:%M:%S')
date2_obj = datetime.datetime.strptime(date2, '%m/%d/%Y %H:%M:%S')

difference_seconds = abs((date1_obj - date2_obj).seconds)
difference_days = abs((date1_obj - date2_obj).days)
print (difference_seconds)
print (difference_days)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...