Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Как к нынешней дате добавить 30 минут?

#python #datetime


Нужно взять дату и время, и добавить к времени 30 минут.
Как вывести дату и время знаю, но вот никак не получаеться добавить 30 минут:

import time
import datetime

dt = datetime.datetime.now()
print dt.strftime('%d.%m.%Y %H:%M')

# -> 27.04.2017 13:07


Кто подскажет?
    


Ответы

Ответ 1



Чтобы получить datetime значение, соответствующее половине оборота минутной стрелки (30 минут по часам) от текущего значения: from datetime import datetime, timedelta clock_in_half_hour = datetime.now() + timedelta(minutes=30) Если вы хотите получить локальное время, которое будет через 1800 секунд от текущего в будущее, то это значение может отличаться из-за перевода часов (к примеру, из-за разницы между летним/зимним временем в текущей часовой зоне). В этом случае следует использовать datetime с tzinfo (Питон 3): from datetime import datetime, timedelta, timezone future_in_half_hour = datetime.now(timezone.utc) + timedelta(minutes=30) local_time = future_in_half_hour.astimezone() python на текущей платформе может не иметь доступа к tz database (Windows) или на старых Питон версиях нет timezone модуля. Самый переносимый вариант это использовать информацию о часовых поясах из pytz модуля: from datetime import datetime, timedelta import pytz # $ pip install pytz import tzlocal # $ pip install tzlocal local_timezone = tzlocal.get_localzone() # pytz-timezone future_in_half_hour = datetime.now(pytz.utc) + timedelta(minutes=30) local_time = future_in_half_hour.astimezone(local_timezone) tzlocal модуль используется, чтобы найти pytz временну́ю зону, соответствующую локальной часовой зоне. pendulum позволяет скрыть эти детали, связанные со сменой смещения от UTC в местном времени: import pendulum # $ pip install pendulum future_in_half_hour = pendulum.now().add(minutes=30) Дополнительная информация: Как получить часовой пояс на Python Find if 24 hrs have passed between datetimes - Python Если вы не знали, что местное время может повторяться (не монотонно, не уникально) или вообще отсутствовать, посмотрите на картинки в python converting string in localtime to UTC epoch timestamp.

Ответ 2



Используйте timedelta. from datetime import timedelta, datetime now = datetime.now() after_30_minutes = now + timedelta(minutes=30)

Комментариев нет:

Отправить комментарий