Простой способ подумать о временных метках и строках времени-это то, что один из них читается, а другой читается человеком. Компьютеры лучше всего работают с простыми числовыми представлениями, например, как они в конечном итоге обрабатывают все, как 0 и 1. Такая метка времени: чистое, эффективное число, которое программа может хранить, сортировать и рассчитывать.
Но людям требуется контекст, слова, форматирование и образы, чтобы понять мир. Вот где появляются строки времени. Преобразование временной метки в прочитаемую дату и время превращает машинный код в то, что мы, люди, можем интерпретировать с первого взгляда.
Подумай об этом так:
Неэппаратная метка для компьютера. Строка времени для нас.
Понимание временных метков Python
Неэппаратная метка-это плавающая точка или целочисленное число, которое представляет время, прошедшее (подсчитываемое на секунды) с момента эпохи UNIX. Хм? Эпоха UNIX состоялась 1 января 1970 года. Когда дизайнеры Unix создали систему, им потребовался один фиксированный момент времени, чтобы считать. Им также нужна была дата, которая не будет противоречить важным историческим датам, и они были достаточно недавно, чтобы начать считать в современных вычислениях.
Что такое временная метка?
Каждую секунду, которая проходит, так как эпоха UNIX добавляет +1 к номеру. 1 января 1970 года в 00:00:00 UTC был 0. 1 января 2000 г., 00:00:00 был 946 684 800. 1 января 2025 года в 00:00:00 UTC составила 1 735 689 600 600, то есть 1 735 689 600 секунд с момента эпохи UNIX.
Пример временной метки в Python
Во-первых, нам необходимо импортировать модуль времени, так как это встроенный способ работы Python с датами, временем и временными метками. Мы можем использовать Time.Time (), чтобы получить текущую временную метку.
Вывод, который вы увидите, будет точным количеством секунд, которые прошли с 1 января 1970 года.
Преобразование временной метки в строку времени в Python
Для тех из нас, кто не может ссылаться на время, используя счетчик секунд, у нас есть модуль Python DateTime. Модуль DateTime превращает эти секунды в формат времени, который мы можем понять.
Использование модуля DateTime
DateTime-это встроенная библиотека Python, которая предоставляет классы для манипулирования датами. Используя модуль DateTime, мы можем использовать ту же дату начала 1 января 1970 года, но превратить вывод в даты (даты календаря), время суток, выполнять арифметику, формат и разбор и (как мы видели выше) доступа к временной метке.
Синтаксис datetime.fromtimestamp ()
FromTimeStamp () — это метод класса класса DateTime. Это метод, который вы называете, чтобы создать объект DateTime с временной метки.
В приведенном ниже коде, TimeStamp — это переменная, присвоенная числовому значению, возвращаемому с Time.Time (). Функция возвращает объект DateTime.
Пример преобразования с DateTime
Вам не нужно печатать полный объект DateTime каждый раз. Вот пример, который распечатывает небольшие куски информации.
Форматирование строк времени на питоне
Почему мы хотим строк времени? Вытягивание объекта DateTime дает вам гораздо более читаемый результат, чем TimeStamp, но мы можем добиться большего. Форматирование строк времени позволяет вам настроить время в более чтении в мире (то есть, различные страны форматируют время по -разному, существуют часовые пояса и т. Д.).
Использование strftime () для форматирования
Подобно fromTimeStamp (), strftime () является методом класса из класса DateTime. strftime () позволяет создавать пользовательские форматы строки даты/времени.
Вот некоторые коды форматирования:
- %Y — год за 4 цифр (2025)
- %m-месяц с нулевым приводом (06)
- %d — день месяца (01)
- %H-час в 24-часовых часах (13)
- %M — минуты (23)
- %S — секунды (16)
Альтернативные методы обыкновенных строк времени
DateTime — наиболее часто используемый способ внести дату и время в приложение. Но это не единственный путь. Метод Python Time (то, что мы использовали для генерации TimeStamp) также может проводить преобразования.
Использование модуля времени
Время, когда модуль превращает метку времени в читаемые структуры, но считается немного более низким и менее гибким (подробнее об этом в ближайшее время). Вы бы предпочли использовать модуль Time, если вам нужно только простое форматирование или требуется совместимость с более старым кодом Python.
Сравнение между модулями DateTime и времени
Выпущенный в Python 2.3 в 2003 году, модуль DateTime появился после модуля Time. Модуль Time возвращается к 1990 -м годам. Модуль Time проще, но более ограничен, особенно когда речь идет о таких вещах, как арифметическая или идентификационные часовые пояса даты.
DateTime приносит с собой добавленные функции, такие как:
- Богатые атрибуты (год, месяц и т. Д.)
- Timedelta, которая обрабатывает дату математики
- Лучший форматирование и анализ
- Чистая обработка часовых поясов
DateTime не заменил время (как вы можете видеть, оба используются в наших примерах кодирования), но DateTime — это рекомендуемый способ отображения дат и времени.
Время по -прежнему является самым быстрым способом получить метку времени в качестве поплавки. Вы можете получить метку времени от DateTime, но, как видите, это немного больше кода (следовательно, время = проще):
Обработка часовых поясов
По умолчанию DateTime.FromTimestAmp () использует локальный часовой пояс машины, работающего в коде. Если вы запустите это на ноутбуке в Нью -Йорке, он покажет восточное время. Запуск того же сценария на сервере в Германии покажет время центральной европейской.
Использование унифицированного часового пояса
Допустим, вы хотите отобразить восточное время для каждого пользователя приложения, где бы они ни находились. Вы можете сделать это с библиотекой PYTZ. Обязательно установите PIP PYTZ, прежде чем пытаться его использовать.
Преобразование в UTC
Прежде чем мы сможем указать часовой пояс, нам необходимо преобразовать метку времени в UTC.
После того, как мы конвертируем метку времени в UTC, мы можем использовать PYTZ для преобразования времени UTC в восточное время.
Лучшие практики и общие ловушки
Многое из этого было покрыто на основе того, как мы практиковались в наших примерах (т.е. конвертируя в UTC до указания часового пояса). Остальные довольно просты и следуют обычным лучшим практикам кодирования, например, использование DateTime с течением времени при работе с новым кодом. Также важно использовать согласованное форматирование в вашем проекте.
Обработка ошибок и устранение неполадок
Подобно лучшим практикам, нет ничего особенного в обработке ошибок и устранении неисправностей, когда дело доходит до работы с DateTime и временем, просто убедитесь, что переменные именуются правильно, используйте правильные типы при выводе конверсии и будьте осторожны, когда вы используете коды форматирования с помощью strftime ().
Вы также можете использовать аналогичную обработку ошибок:
Заключение
Преобразование временных метков в читаемые даты легко с Python. Используя модуль DateTime, вы можете быстро преобразовать временную метку в доверие разработчиков Date String Python. С strftime (), форматирование TimeStamp Python позволяет настроить свои строки времени.
Превращение времени эпоха в дату, читаемое на человеке, прост, а такие инструменты, как Pytz, помогают управлять часовыми поясами. Освоение этих методов означает уверенно обрабатывать данные времени, делая Python DateTime TimeMant TimeMant в String Conversions на ветерок.
Начните преобразовать и посмотрите, как просто преобразовать временные метки Unix в чистые, читаемые строки времени!
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джессика Вахтел — писатель по маркетингу разработчиков в InfluxData, где она создает контент, который помогает сделать данные о мире временных рядов более понятными и доступными. Джессика имеет опыт работы в разработке программного обеспечения и технической журналистике. Подробнее от Джессики Вахтел