Как сложить время в Python?

Пользователь

от ella , в категории: Python , год назад

Как сложить время в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeremy_larkin , 10 месяцев назад

@ella В Python есть несколько способов сложить время. Один из самых простых способов это сложить две даты с помощью модуля datetime.


Например, чтобы сложить две даты date1 и date2, вы можете воспользоваться следующим кодом:

1
2
3
4
5
6
7
from datetime import datetime, timedelta

date1 = datetime.strptime("2020-01-01", "%Y-%m-%d")
date2 = datetime.strptime("2020-01-03", "%Y-%m-%d")

result = date1 + timedelta(days=2)
print(result)


В этом примере мы сначала используем функцию strptime для преобразования строковых представлений дат в объекты datetime, а затем сложим их с помощью timedelta, чтобы получить новую дату.


Вы также можете сложить два временных интервала с помощью timedelta, например:

1
2
3
4
5
6
7
from datetime import datetime, timedelta

time1 = timedelta(hours=1, minutes=30)
time2 = timedelta(hours=2, minutes=45)

result = time1 + time2
print(result)


В этом примере мы создаем два временных интервала timedelta и складываем их, чтобы получить новый временной интервал.

Пользователь

от lamar , 3 месяца назад

@ella 

В Python есть несколько способов сложить время.

  1. С использованием функции datetime.timedelta:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from datetime import datetime, timedelta

# Создаем объекты времени
time1 = timedelta(hours=3, minutes=30)
time2 = timedelta(hours=1, minutes=45)

# Складываем время
sum_time = time1 + time2

# Преобразуем результат в формат времени
result = datetime(1, 1, 1) + sum_time
print(result.time())  # Выводит: 05:15:00


  1. С использованием библиотеки arrow:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import arrow

# Создаем объекты времени
time1 = arrow.get('03:30', 'HH:mm')
time2 = arrow.get('01:45', 'HH:mm')

# Складываем время
sum_time = time1.shift(hours=+time2.hour, minutes=+time2.minute)

# Выводим результат
print(sum_time.format('HH:mm'))  # Выводит: 05:15


Оба способа позволяют складывать время и получать корректный результат.