Время в терминале: как посмотреть и настроить дату и время в командной строке
TL;DR
- «Время в терминале» — это системное время компьютера, которое можно посмотреть и изменить командой в командной строке; отдельного «терминального» времени, живущего по своим правилам, не существует.
- В Linux и macOS текущее время показывает команда
date; в системах на systemd (Ubuntu, Debian, Astra Linux, Fedora) удобнееtimedatectl status— она сразу выводит часовой пояс и статус синхронизации. - В Windows время в командной строке смотрят через
time /Tв cmd,Get-Dateв PowerShell или всё той жеdateвнутри WSL. - Менять время в терминале вручную (
date -s,timedatectl set-time) можно, но правильный способ на постоянной основе — включить автоматическую синхронизацию по NTP, а не выставлять время руками при каждом расхождении. - Если запрос про «время в терминале» привёл вас сюда в поиске терминала MetaTrader 4 или терминала аэропорта — здесь не про них: речь только о командной строке операционной системы.

Время в терминале: как посмотреть и настроить дату и время в командной строке
Что называют «временем в терминале» и почему здесь возможна путаница
Слово «терминал» в поисковых запросах означает как минимум три разные вещи, и это стоит развести сразу, чтобы не тратить время на нерелевантный материал.
Первое и самое частое значение — терминал как эмулятор командной строки: окно, где вводят текстовые команды операционной системе. Именно об этом терминале и его времени пойдёт речь ниже: время в нём — это просто системное время компьютера, которое терминал показывает по запросу через ту или иную команду.
Второе значение — торговый терминал, например MetaTrader 4. Время там определяется не системными часами компьютера, а часовым поясом сервера брокера, и настраивается через настройки платформы, а не через командную строку операционной системы — это отдельная тема, не связанная с тем, что описано в этой статье.
Третье значение — терминал аэропорта. Вопросы про расписание рейсов, время бесплатной стоянки или пересадку между терминалами Шереметьево тоже не имеют отношения к командной строке — это справочная информация аэропорта, и искать её стоит на сайте самого аэропорта или у авиаперевозчика.
Дальше — только про терминал как интерфейс командной строки: как посмотреть в нём текущее время, как его изменить и почему точность системных часов имеет прямое значение для повседневной работы разработчика.
Как посмотреть время в терминале Linux и macOS
Команда date
Базовый и самый универсальный способ увидеть текущее время в терминале Linux или macOS — команда date без аргументов:
date
Она выводит день недели, дату, время и часовой пояс в формате, заданном локалью системы. Если нужен конкретный формат — например, только время без даты, — date принимает шаблон вывода:
date +"%H:%M:%S"
Такой вызов удобен в скриптах, где важно получить время в предсказуемом виде, а не в человекочитаемом формате по умолчанию.
timedatectl status в системах на systemd
В дистрибутивах, где инициализация системы построена на systemd (современный Ubuntu, Debian, Fedora, Astra Linux и большинство других актуальных сборок), есть более информативная команда:
timedatectl status
Она показывает не только текущую локальную дату и время, но и часовой пояс, время в UTC и — что важно — включена ли синхронизация системных часов по NTP и работает ли она сейчас. Это самый быстрый способ понять не просто «какое время показывает терминал», а можно ли этому времени доверять.
Часовой пояс и переменная TZ
Отображаемое время в терминале всегда зависит от часового пояса, который системе назначен. Посмотреть текущий часовой пояс можно той же командой timedatectl status, а временно вывести время в другом часовом поясе — без изменения системных настроек — переменной окружения TZ:
TZ="Europe/Moscow" date
Это удобно, когда нужно быстро проверить, какое время сейчас в другом регионе, не переключая часовой пояс всей системы.
Как посмотреть время в терминале Windows
В классической командной строке Windows (cmd.exe) текущее время показывает команда:
time /T
Без параметра /T команда time не только выводит время, но и предлагает ввести новое — это стоит иметь в виду, чтобы случайно не запустить смену времени вместо простого просмотра.
В PowerShell более гибкий вариант — командлет Get-Date, который возвращает полноценный объект даты и времени и позволяет сразу отформатировать вывод:
Get-Date -Format "HH:mm:ss"
Если на компьютере установлен WSL (Windows Subsystem for Linux), внутри его терминала действуют те же команды, что в обычном Linux, включая date и — в зависимости от дистрибутива — timedatectl.
Команды для просмотра времени: сводная таблица
| Система / оболочка | Команда для просмотра времени | Дополнительно показывает |
|---|---|---|
| Linux / macOS (любой шелл) | date |
дату, день недели, часовой пояс |
| Linux на systemd | timedatectl status |
часовой пояс, UTC, статус NTP-синхронизации |
| Windows cmd | time /T |
только время, без риска запустить смену |
| Windows PowerShell | Get-Date |
объект даты/времени с гибким форматированием |
| WSL | date или timedatectl |
как в Linux, независимо от времени Windows-хоста |
Как изменить и настроить время в терминале
Ручная установка времени
В Linux вручную задать время можно командой date:
sudo date -s "2026-08-07 14:30:00"
В системах на systemd для той же задачи предпочтительнее timedatectl, потому что она сразу учитывает часовой пояс и не требует временно отключать автосинхронизацию отдельной командой:
sudo timedatectl set-time "14:30:00"
В Windows время и дату вручную задают той же командой time (без /T) или через панель настроек даты и времени — командная строка не единственный способ, и для разового исправления это не обязательно должно быть сделано именно через терминал.
Ручная установка — рабочий вариант для одноразовой правки или для систем без доступа к интернету, но у неё есть очевидный недостаток: часы обычного компьютера постепенно «уходят» без внешней синхронизации, и через какое-то время расхождение появится снова.
Автоматическая синхронизация по NTP
Правильное решение на постоянной основе — не подводить время руками, а включить синхронизацию с сервером точного времени по протоколу NTP. В Linux на systemd это делается одной командой:
sudo timedatectl set-ntp true
За фактическую синхронизацию дальше отвечает служба systemd-timesyncd или, в более требовательных к точности сценариях, chronyd. В Windows аналогичную роль играет встроенная служба времени Windows, управляемая через w32tm. После включения автосинхронизации ручная установка времени в терминале почти никогда не требуется — часы держат точность сами.
Особенности Astra Linux и других отечественных дистрибутивов
Astra Linux, как и большинство современных дистрибутивов на базе Linux, использует systemd, поэтому все команды выше — date, timedatectl status, timedatectl set-time, timedatectl set-ntp true — работают в её терминале без каких-либо отличий от «обычного» Ubuntu или Debian. Специфика скорее в контексте использования: в защищённых и изолированных сегментах сети, где часто разворачивают Astra Linux, доступ к внешним NTP-серверам может быть ограничен политикой безопасности, и тогда системное время синхронизируют с локальным сервером точного времени внутри периметра, а не с публичными NTP-пулами в интернете. Адрес такого сервера и порядок настройки в этом случае определяет администратор инфраструктуры, а команды для просмотра и проверки статуса синхронизации в терминале остаются те же самые.
Почему точное время в терминале важно разработчику
Для разработчика системное время — это не абстрактная настройка, а основа, на которой держится множество повседневных инструментов. Расхождение времени на машине разработчика способно испортить куда больше, чем просто вывод команды date:
- Git и история коммитов. Время коммита в git берётся с системных часов в момент выполнения
git commit. Если часы сбиты, история коммитов перестаёт отражать реальный порядок изменений, а сравнение времени коммитов между разработчиками в команде теряет смысл. - Логи и отладка. Временные метки в логах приложения — единственный способ восстановить последовательность событий при отладке сложного бага. Если часы на машине, где собирали логи, отставали или спешили, восстановить реальную хронологию событий становится заметно труднее.
- Сертификаты и авторизация. Многие протоколы аутентификации и TLS-сертификаты проверяют срок действия по системному времени; заметное расхождение может приводить к ошибкам соединения, которые выглядят как проблема сети, а на самом деле вызваны неверными часами.
- CI/CD и сборки. Кеширование сборок, инвалидация артефактов и порядок задач в конвейере нередко опираются на временные метки файлов — рассинхронизация времени на агенте сборки может привести к неожиданному поведению кеша.
Здесь же лежит менее очевидная, но практическая связь с учётом рабочего времени: любой инструмент, который автоматически фиксирует, сколько времени ушло на код, встречи или отладку, опирается на те же системные часы. Если хочется понять, чем на самом деле занят рабочий день — сколько реально идёт на написание кода, а сколько на код-ревью, встречи и переключения между задачами, — точность системного времени на машине становится предпосылкой для того, чтобы этим данным можно было доверять. По той же причине разговор про то, сколько разработчик реально пишет код за день, тоже опирается на честные и синхронизированные временные метки, а не на приблизительные ощущения.
DevPace, например, строит временную шкалу рабочего дня — какое приложение было активно и как долго — именно на основе системного времени компьютера; если часы уходят в сторону, точность такой временной шкалы и статистики переключений между задачами снижается вместе с точностью самих часов. Это ещё одна причина держать автоматическую синхронизацию времени включённой, а не выключать её «для порядка» или из соображений приватности — на точность самого трекинга это никак не влияет, а вот на достоверность итоговых цифр влияет напрямую.
Если тема шире — не только точность часов, а то, какие метрики продуктивности разработчика вообще имеют смысл и на какие данные стоит опираться, — этому посвящён отдельный разбор: продуктивность разработчика: какие метрики имеют смысл.
Частые ошибки с временем в терминале
Несколько повторяющихся ситуаций, из-за которых время в терминале выглядит неправильным или превращается в источник более серьёзных проблем:
- Часовой пояс не соответствует физическому местоположению. Особенно часто это встречается на виртуальных машинах и в облаке: образ системы создавался с часовым поясом UTC или часовым поясом дата-центра, и после переноса или клонирования его никто не поменял.
- Отключённый NTP после ручной правки. Если время однажды выставили руками через
date -s, автоматическая синхронизация могла остаться выключенной, и часы продолжают потихоньку расходиться дальше без напоминания об этом. - Расхождение времени между хостом и виртуальной машиной или контейнером. Гостевая система иногда не синхронизирует часы с хостом автоматически, особенно после длительной приостановки виртуальной машины — тогда в терминале хоста и гостя показывается разное время до следующей синхронизации.
- Путаница между локальным временем и UTC в логах. Если часть сервисов пишет логи в UTC, а часть — в локальном времени, сравнение временных меток между ними даёт неверную картину происходящего, даже если оба источника технически показывают правильное время.
Вывод
Время в терминале — это не какая-то отдельная сущность, а системное время компьютера, доступное через date, timedatectl status или их аналоги в Windows и PowerShell. Посмотреть его — задача на одну команду; поддерживать его точным на постоянной основе — задача включённой автоматической синхронизации по NTP, а не периодической ручной правки. Для разработчика это не формальность: от точности системных часов зависит корректность истории git, достоверность логов при отладке, а также точность любых автоматических измерений рабочего времени — от простого таймера до полноценной временной шкалы рабочего дня.
Частые вопросы
Как посмотреть время в терминале Linux одной командой?
Достаточно набрать date без аргументов — команда выведет текущую дату, время, день недели и часовой пояс в формате локали системы. Для систем на systemd альтернативой служит timedatectl status, которая дополнительно показывает статус синхронизации по NTP.
Как установить время в терминале Astra Linux?
Так же, как в любом дистрибутиве на systemd: командой sudo timedatectl set-time "ЧЧ:MM:СС" для ручной установки времени или sudo timedatectl set-ntp true, чтобы включить автоматическую синхронизацию. В изолированных сетевых сегментах NTP-сервер может быть внутренним, а не публичным, — адрес указывает администратор инфраструктуры.
Почему время в терминале отличается от времени в системном трее Windows?
Обычно это разные часовые пояса или отключённая синхронизация в одном из окружений: например, время внутри WSL синхронизируется отдельно от времени хоста Windows и может на короткое время отставать после выхода компьютера из сна, пока не пройдёт очередная синхронизация.
Как посмотреть время в терминале через PowerShell?
Командой Get-Date, которая возвращает полный объект даты и времени; вывод можно сразу отформатировать, например Get-Date -Format "HH:mm:ss", если нужно только время без даты.
Что делать, если время в терминале сильно отстаёт или спешит?
Сначала проверить, включена ли автоматическая синхронизация (timedatectl status в Linux), и включить её, если она выключена. Если синхронизация включена, но время всё равно расходится, стоит проверить доступность NTP-сервера из сети — расхождение почти всегда означает, что синхронизация технически не работает, а не что она не помогает в принципе.
Меня интересовало время терминала MetaTrader 4 — почему статья не об этом?
Потому что это два разных значения слова «терминал»: терминал MetaTrader 4 показывает время сервера торговой платформы и настраивается внутри самой программы, а не через командную строку операционной системы, о которой рассказано в этой статье. За настройками времени в MT4 стоит обращаться к документации платформы или брокера.
Как временно посмотреть время в другом часовом поясе без изменения настроек системы?
Через переменную окружения TZ перед командой, например TZ="Europe/Moscow" date — это выведет текущее время в указанном часовом поясе, не трогая часовой пояс, установленный в системе.
Смотрите также
Опубликовано: 7 августа 2026 г.