РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
726 of 818 menu

Функция timezone.now

Функция now из модуля django.utils.timezone используется для получения текущей даты и времени. Возвращаемое значение - объект datetime.datetime, который содержит информацию о временной зоне (timezone-aware), если используется активный часовой пояс. В противном случае возвращается наивный объект даты и времени (timezone-naive). Функция не принимает параметров и всегда возвращает актуальное текущее время. В отличие от стандартной функции datetime.now, которая возвращает наивное время, timezone.now учитывает настройки часового пояса проекта Django.

Синтаксис

from django.utils import timezone current_time = timezone.now()

Пример . Использование без настройки часового пояса

Рассмотрим пример использования функции в пустом проекте с настройками часового пояса по умолчанию:

from django.utils import timezone res = timezone.now() print(res)

Результат выполнения кода:

"2026-09-07 14:32:18.123456+00:00"

Пример . Использование с активным часовым поясом

Если в настройках проекта установлен часовой пояс, например 'Europe/Moscow', то функция возвращает время с учётом смещения:

from django.utils import timezone res = timezone.now() print(res)

Результат выполнения кода:

"2026-09-07 17:32:18.123456+03:00"

Пример . Использование для установки даты создания модели

Часто функцию timezone.now используют в качестве значения по умолчанию для поля DateTimeField в моделях. Это позволяет автоматически записывать время создания записи:

from django.db import models from django.utils import timezone class Article(models.Model): title = models.CharField(max_length=100) created_at = models.DateTimeField(default=timezone.now) def __str__(self): return self.title

Пример . Сравнение с datetime.now

Наглядно покажем разницу между стандартным методом datetime.now и функцией timezone.now:

from datetime import datetime from django.utils import timezone naive_time = datetime.now() aware_time = timezone.now() print(f"Naive: {naive_time}") print(f"Aware: {aware_time}")

Результат выполнения кода:

"Naive: 2026-09-07 14:32:18.123456" "Aware: 2026-09-07 17:32:18.123456+03:00"

Смотрите также

  • функция timezone.localtime,
    преобразует переданное время в локальный часовой пояс
  • функция timezone.localdate,
    возвращает текущую дату в локальном часовом поясе
  • функция timezone.make_aware,
    преобразует наивное время в осознанное
  • функция timezone.get_current_timezone,
    возвращает объект текущего часового пояса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить