Files
drf-rack/net/xeaf/rack/utils/date_utils.py

47 lines
1.5 KiB
Python

# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса DateUtils
"""
import datetime
from django.utils import timezone
class DateUtils:
"""
Реализует функции работы с датами и временем
"""
@classmethod
def now(cls) -> datetime.datetime:
"""
Возвращает текущую дату и время
"""
return timezone.now()
@classmethod
def shift_time(cls, date_time: datetime.datetime | None = None, days: int = 0, hours: int = 0, minutes: int = 0, seconds: int = 0) -> datetime.datetime:
"""
Добавляет к дате и времени заданное количество дней, часов, минут и секунд
:param date_time: Дата и время
:param days: Количество дней
:param hours: Количество часов
:param minutes: Количество минут
:param seconds: Количество секунд
:return: Дата и время с добавленным временем
"""
if date_time is None:
date_time = cls.now()
return date_time + datetime.timedelta(days=days, hours=hours, minutes=minutes, seconds=seconds)