Время Unix (или POSIX-время) — способ представления даты и времени в виде количества секунд, прошедших с 1 января 1970 года, 00:00:00 UTC (начало эпохи Unix). Его ключевые особенности:
- непрерывный подсчет секунд с момента наступления эпохи (за исключением високосных секунд);
- независимость от часовых поясов — всегда основано на UTC;
- широкое применение в Linux, базах данных, сетях и программировании.
В этой статье мы покажем несколько способов преобразования времени Unix в человекочитаемый формат в Linux.
Содержание:
- Использование команды date
- Использование AWK
- Применение языка Perl
- Использование языка Python
- Выводы
Использование команды date
Утилита date в Linux используется для отображения или установки системной даты и времени. С ее помощью также можно приводить дату и время к определенному формату.
Например, запишем в переменную time значение Unix-времени 1052268400. Для того чтобы преобразовать его в удобочитаемый формат, используем следующую команду в терминале:
Где:
-d— опция, которая позволяет указать строку даты или временную метку для отображения;@— специальный префикс, указывающий утилитеdate, что значение следует интерпретировать как Unix-временную метку.
Читайте также: Как использовать команду date в Linux.
На скриншоте выше показано, что Unix-время 1052268400 соответствует 6 мая 2003 года, 20:46:40.
Утилита date позволяет вручную настраивать формат вывода даты и времени. Чтобы отобразить POSIX-время в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС, выполним в терминале:
Использование AWK
Скриптовый язык AWK — это инструмент командной строки, предназначенный для обработки текста. Он позволяет быстро и эффективно выполнять различные манипуляции с данными в файле. С помощью AWK также можно преобразовывать даты и время. К примеру снова конвертируем Unix-время 1052268400 в удобный формат:
Здесь:
$1— переменная, которая обозначает первое поле в каждой строке ввода (в нашем случае — временная метка Unix);strftime(...)— функция, которая преобразует временную метку Unix (из$1) в человекочитаемый формат даты;%Y-%m-%d %H:%M:%S— строка формата, использующаяся для вывода даты в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС.print— команда, которая указывает вывести результат функцииstrftime.
Читайте также: Введение в AWK: руководство для начинающих.
Применение языка Perl
Perl — высокоуровневый язык программирования общего назначения, известный своей гибкостью и функциями для обработки текста. Он обладает встроенной поддержкой регулярных выражений.
Чтобы конвертировать время POSIX в удобный формат с помощью Perl, применим следующую команду:
Где:
-e— опция, указывающая выполнить однострочный код, заключенный в последующие кавычки;localtime($time)— функция, которая преобразовывает временную метку Unix в локальную дату и время;scalar(...)— функция, которая используется для того, чтобы результатlocaltime(...)рассматривался как одно значение (строка);print— команда, выводящая строку в окно терминала.
Использование языка Python
Python — это высокоуровневый язык программирования, отличающийся простотой и универсальностью. Его активно применяют в самых разных сферах, таких как:
- веб-разработка;
- анализ данных;
- автоматизация;
- системное администрирование;
- искусственный интеллект и так далее.
Читайте также: Как правильно установить Python на Linux: разбор всех пунктов.
Кроме того, Python обладает встроенными инструментами для работы с временными метками. В Linux для преобразования UNIX-времени в удобочитаемый формат можно воспользоваться следующей командой:
Рассмотрим подробнее части выполненной команды:
-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 с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.































