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

Класс Clock

Класс Clock из компонента symfony/clock предоставляет удобный интерфейс для работы с текущим временем. Он позволяет получать текущий момент времени в виде объекта DateTimeImmutable или DatePoint, приостанавливать выполнение скрипта на заданное количество секунд, а также создавать новый экземпляр часов с другим часовым поясом. Класс реализует интерфейс ClockInterface и является частью утилит Symfony.

Основные методы класса: now возвращает текущее время, sleep приостанавливает выполнение, withTimeZone создаёт новый экземпляр с указанным часовым поясом.

Синтаксис

use Symfony\Component\Clock\Clock; $clock = new Clock(); $clock->now(): DateTimeImmutable $clock->sleep(float $seconds): void $clock->withTimeZone(DateTimeZone|string $timezone): static

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Clock\Clock; class ClockController extends AbstractController { #[Route('/clock/now', name: 'clock_now')] public function now(): Response { $clock = new Clock(); $current = $clock->now(); return new Response($current->format('Y-m-d H:i:s')); } } ?>

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

"2026-09-14 12:34:56"

Пример

Давайте приостановим выполнение скрипта на 2 секунды с помощью метода sleep:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Clock\Clock; class ClockController extends AbstractController { #[Route('/clock/sleep', name: 'clock_sleep')] public function sleep(): Response { $clock = new Clock(); $before = $clock->now()->format('H:i:s'); $clock->sleep(2); $after = $clock->now()->format('H:i:s'); return new Response($before . ' -> ' . $after); } } ?>

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

"12:34:56 -> 12:34:58"

Пример

Давайте создадим часы с часовым поясом 'Europe/Paris' с помощью метода withTimeZone:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Clock\Clock; class ClockController extends AbstractController { #[Route('/clock/timezone', name: 'clock_timezone')] public function timezone(): Response { $clock = new Clock(); $parisClock = $clock->withTimeZone('Europe/Paris'); $current = $parisClock->now(); return new Response($current->format('Y-m-d H:i:s e')); } } ?>

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

"2026-09-14 14:34:56 Europe/Paris"

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

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