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

Метод now класса Clock

Метод now класса Clock возвращает текущий момент времени в виде неизменяемого объекта DateTimeImmutable. Метод не принимает параметров и всегда возвращает актуальное время с учётом часового пояса, заданного в объекте часов. Этот метод удобно использовать в сервисах, которые должны получать текущее время, чтобы код оставался тестируемым.

Синтаксис

public function now(): DateTimeImmutable

Пример

Давайте получим текущее время с помощью метода now:

<?php namespace AppService; use SymfonyComponentClockClockInterface; class TimeService { public function __construct( private ClockInterface $clock ) { } public function getCurrentTime(): string { $now = $this->clock->now(); return $now->format('Y-m-d H:i:s'); } } ?>

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

"2024-01-15 12:30:45"

Пример

Давайте сравним текущее время с заданной датой:

<?php namespace AppService; use SymfonyComponentClockClockInterface; class TimeService { public function __construct( private ClockInterface $clock ) { } public function isPast(string $date): bool { $now = $this->clock->now(); $target = new DateTimeImmutable($date); return $now > $target; } } ?>

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

true

Пример

Давайте выведем текущее время в контроллере:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentClockClockInterface; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class TimeController extends AbstractController { #[Route('/time', name: 'time_index')] public function index(ClockInterface $clock): Response { $now = $clock->now(); return new Response($now->format('H:i:s')); } } ?>

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

12:30:45

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

  • класс Clock,
    который предоставляет текущее время
  • метод sleep,
    который приостанавливает выполнение на заданное время
  • метод withTimeZone,
    который меняет часовой пояс часов
  • класс DatePoint,
    который расширяет возможности работы с датой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить