Как преобразовать время Unix в удобочитаемый формат в Linux

Как преобразовать время Unix в удобочитаемый формат в Linux

Время Unix (или POSIX-время) — способ представления даты и времени в виде количества секунд, прошедших с 1 января 1970 года, 00:00:00 UTC (начало эпохи Unix). Его ключевые особенности:

  • непрерывный подсчет секунд с момента наступления эпохи (за исключением високосных секунд);
  • независимость от часовых поясов — всегда основано на UTC;
  • широкое применение в Linux, базах данных, сетях и программировании.

В этой статье мы покажем несколько способов преобразования времени Unix в человекочитаемый формат в Linux.

Содержание:

  1. Использование команды date
  2. Использование AWK
  3. Применение языка Perl
  4. Использование языка Python
  5. Выводы

Использование команды date

Утилита date в Linux используется для отображения или установки системной даты и времени. С ее помощью также можно приводить дату и время к определенному формату.

Например, запишем в переменную time значение Unix-времени 1052268400. Для того чтобы преобразовать его в удобочитаемый формат, используем следующую команду в терминале:

 

Где:

  • -d — опция, которая позволяет указать строку даты или временную метку для отображения;
  • @ — специальный префикс, указывающий утилите date, что значение следует интерпретировать как Unix-временную метку.

date command

Читайте также: Как использовать команду date в Linux.

На скриншоте выше показано, что Unix-время 1052268400 соответствует 6 мая 2003 года, 20:46:40.

Утилита date позволяет вручную настраивать формат вывода даты и времени. Чтобы отобразить POSIX-время в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС, выполним в терминале:

 

date command custom

Использование AWK

Скриптовый язык AWK — это инструмент командной строки, предназначенный для обработки текста. Он позволяет быстро и эффективно выполнять различные манипуляции с данными в файле. С помощью AWK также можно преобразовывать даты и время. К примеру снова конвертируем Unix-время 1052268400 в удобный формат:

 

awk command

Здесь:

  • $1 — переменная, которая обозначает первое поле в каждой строке ввода (в нашем случае — временная метка Unix);
  • strftime(...) — функция, которая преобразует временную метку Unix (из $1) в человекочитаемый формат даты;
  • %Y-%m-%d %H:%M:%S — строка формата, использующаяся для вывода даты в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС.
  • print — команда, которая указывает вывести результат функции strftime.

Читайте также: Введение в AWK: руководство для начинающих.

Применение языка Perl

Perl — высокоуровневый язык программирования общего назначения, известный своей гибкостью и функциями для обработки текста. Он обладает встроенной поддержкой регулярных выражений.

Чтобы конвертировать время POSIX в удобный формат с помощью Perl, применим следующую команду:

 

perl command

Где:

  • -e — опция, указывающая выполнить однострочный код, заключенный в последующие кавычки;
  • localtime($time) — функция, которая преобразовывает временную метку Unix в локальную дату и время;
  • scalar(...) — функция, которая используется для того, чтобы результат localtime(...) рассматривался как одно значение (строка);
  • print — команда, выводящая строку в окно терминала.

Использование языка Python

Python — это высокоуровневый язык программирования, отличающийся простотой и универсальностью. Его активно применяют в самых разных сферах, таких как:

  • веб-разработка;
  • анализ данных;
  • автоматизация;
  • системное администрирование;
  • искусственный интеллект и так далее.

Читайте также: Как правильно установить Python на Linux: разбор всех пунктов.

Кроме того, Python обладает встроенными инструментами для работы с временными метками. В Linux для преобразования UNIX-времени в удобочитаемый формат можно воспользоваться следующей командой:

 

python command

Рассмотрим подробнее части выполненной команды:

  • -c — параметр, указывающий Python выполнить переданный однострочный код;
  • import datetime — импорт модуля datetime, который предоставляет функции для работы с датой и временем;
  • datetime.datetime.fromtimestamp($time) — преобразует Unix-время в удобочитаемый формат;
  • .strftime('...') — форматирует полученное время в заданном виде;
  • print(...) — выводит результат выполнения команды в терминал.

Выводы

Теперь Вы знаете, что такое время Unix и как оно определяется. Мы также рассмотрели способы преобразования временных меток POSIX в человекочитаемый формат с использованием команды date, а также языков AWK, Perl и Python.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики