Модуль времени временных рядов Python

искусственный интеллект Python
Модуль времени временных рядов Python

В нашей жизни время всегда везде:

  • Я езжу на метро на работу каждое утро в 9:00
  • У меня была встреча в 10:30 утра в прошлый понедельник
  • Олимпийские игры в Пекине открылись 8 августа 2008 года.
  • Сяо Мин родился 4 января 1998 года в 10:09.
  • Пекинское время основано на восточно-восьмом округе.
  • Я хочу дать этому собственному сканеру цену задание на время...

Кажется, мы живем вГод, месяц, день, час, минута, секунда, миллисекундаВ мире, окруженном временем, но действительно ли вы понимаете время? Какие есть связанные библиотеки для обработки времени в Python? В чем польза временных рядов?

Далее Питер откроет серию Панд дляпоследовательноПродвинутые статьи по теме, обновляемые в любое время, добро пожаловать на чтение~

Научно-популярный контент

второй

Текущее признанное второе место в мире: относится к 13-й сессии, проведенной в 1967 году в соответствии с действующей Международной системой единиц.Международная конференция мер и весовОпределение секунд:цезий133 атомаОсновное состояниеДва супер хорошоуровень энергиимеждуПрыжокСоответствует продолжительности 9 192 631 770 циклов излучения.

Начальная эпоха установлена ​​в январе 1958 года, когда 1-й 0.

Ниже приводится список юнитов на всех уровнях (из Википедии), и я чувствую, что многому научился:

дополнительная секунда

В дополнение к високосному году, который мы часто слышим, существует также понятие високосной секунды.

Високосная секунда относится к корректировке добавления или вычитания 1 секунды ко Всемирному скоординированному времени в конце года или середине года (и, возможно, в конце сезона), единообразно установленной Международным бюро мер и весов для того, чтобы чтобы Универсальное скоординированное время было близко к Универсальному времени. Из-за неравномерности вращения Земли и длительной хроничности (в основном вызванной приливным трением), когда разница между универсальным временем (гражданским временем) и атомным временем превышает ±0,9 секунды, всемирное время смещается вперед на 1 секунда (отрицательная дополнительная секунда, последняя минута составляет 59 секунд) или наберите 1 секунду назад (положительная дополнительная секунда, последняя минута составляет 61 секунду); дополнительные секунды обычно добавляются в конце года по григорианскому календарю или в конце июня по григорианскому календарю.

GMT

Время по Гринвичу(Английский:Greenwich Mean Tвремя,GMT) означает, что находится вСоединенное КоролевствоЛондонпригородКоролевская Гринвичская обсерваторияМестныйсреднее солнечное время,так какнулевой меридианопределяется как проходящий тамдеформация.

С 5 февраля 1924 года Гринвичская обсерватория ежечасно распространяла в мире информацию об установлении времени.

Полдень по Гринвичу, когдаплоское солнцеВремя пересечения Гринвичского меридиана (то есть в самой высокой точке над Гринвичем). Поскольку суточное вращение Земли несколько неравномерно и медленно замедляется, время по Гринвичу, исходя из недостатков самих астрономических наблюдений, былоатомные часыхронометражВсемирное координированное время(UTC) заменен.

UTC

Всемирное координированное время, сокращенно UTC, также известное как универсальное стандартное время, основано на Международных атомных часах с погрешностью в наносекунды в день. Продолжительность секунды всемирного координированного времени такая же, как и у атомного времени, и время должно быть как можно ближе к универсальному времени (разница между ними должна быть в пределах 0,9 секунды).

Временная метка Unix

Отметка времени относится к общему количеству секунд с 1 января 1970 г. в 0:0:00 по всемирному координированному времени (UTC) до настоящего времени Один час выражается в формате отметки времени UNIX: 3600 секунд, один день выражается в формате времени UNIX. штамп 86400 секунд, високосные секунды не учитываются.

Часовой пояс

Часовой пояс — это область на Земле, в которой используется одно и то же определение времени.

Соответствующие международные конференции приняли решение разделить земную поверхность на 24 часовых пояса с юга на север по меридиану и оговорить, что разница во времени между соседними районами составляет 1 час. Когда люди пересекают территорию, они корректируют свои часы на 1 час (правило: вычесть 1 час на запад, добавить 1 час на восток) и добавить или вычесть несколько часов в нескольких районах. Например, наш великий Китай расположен в восьмом восточном округе, что обозначается как GMT+8.

Модуль времени Python

В Python есть много модулей времени, которые могут решать различные проблемы со временем, с которыми мы сталкиваемся.Использование различных библиотек будет представлено в следующих разделах.А именно:

  • time
  • datetime
  • calendar
  • pytz
  • dateutil
  • arrow

модуль времени

Введение

Первое, что нужно представить, это модуль времени, обычно используемый в Python. В документации Python время относится к GOSS (Generic Operating System Services), который предоставляет услуги ближе к уровню операционной системы, при этом модуль time в основном вращается вокруг временных меток unix timestamp.

⚠️Примечание: поскольку этот модуль основан на Unix Timestamp, диапазон дат, который он может представлять, может быть только между 1970-2038; если дата, с которой мы имеем дело, не находится в этом диапазоне, мы должны использовать модуль datetime (описан ниже).

использовать

Импортируем модуль перед его использованием, иначе будет сообщено об ошибке

import time

1. время: просмотр текущего времениотметка времени

time.time()

1633396517.702991

2. localtime: Просмотр текущего времени (в виде кортежа)

Если мы не добавляем параметры, по умолчанию используется временная метка текущего времени в качестве параметра.

Переданный параметр является меткой времени. По умолчанию используется временная метка текущего времени.

time.localtime()

time.struct_time(tm_year=2021,  # 元组形式:年月日时分秒
                 tm_mon=10, 
                 tm_mday=5, 
                 tm_hour=9, 
                 tm_min=15, 
                 tm_sec=17, 
                 tm_wday=1, 
                 tm_yday=278, 
                 tm_isdst=0)

В следующей таблице поясняется значение каждого параметра:

серийный номер Атрибуты ценность
0 tm_year год, например 2020
1 tm_mon месяц, с 1 по 12
2 tm_mday День, с 1 по 31
3 tm_hour часы, от 0 до 23
4 tm_min баллы, от 0 до 59
5 tm_sec Секунды, от 0 до 61 (60 или 61 — дополнительная секунда)
6 tm_wday День недели, от 0 до 6 (0 — понедельник)
7 tm_yday день года, от 1 до 366
8 tm_isdst -1, 0, 1, -1 — флаг, определяющий переход на летнее время.

Кроме того, мы также можем указать конкретную метку времени в качестве параметра:

time.localtime(1600000000)   # 指定时间戳

time.struct_time(tm_year=2020, 
                 tm_mon=9, 
                 tm_mday=13, 
                 tm_hour=20, 
                 tm_min=26, 
                 tm_sec=40, 
                 tm_wday=6, 
                 tm_yday=257, 
                 tm_isdst=0)

3. gmtime: возвращает текущее время в форме struct_time, часовой пояс UTC (0 часовой пояс), а время в формате метки времени может быть передано в

Передаваемый параметр должен быть отметкой времени. По умолчанию используется временная метка текущего времени.

time.gmtime()  # 默认当前时间戳

time.struct_time(tm_year=2021, tm_mon=10, tm_mday=5, tm_hour=1, tm_min=33, tm_sec=25, tm_wday=1, tm_yday=278, tm_isdst=0)

time.gmtime(time.time())   # time.time()也是获取当前时间戳

time.struct_time(tm_year=2021, tm_mon=10, tm_mday=5, tm_hour=1, tm_min=33, tm_sec=25, tm_wday=1, tm_yday=278, tm_isdst=0)

time.gmtime(1617880000)  # 指定一个时间戳

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=8, tm_hour=11, tm_min=6, tm_sec=40, tm_wday=3, tm_yday=98, tm_isdst=0)

4. asctime: возвращает время в виде строки, вы можете передать время в виде struct_time для преобразования

Входящий параметр в виде временного кортежа, результат в виде строки

(1) По умолчанию используйте:

(2) Получите форму кортежа времени с помощью time.localtime():

(3) Форма временной метки входящего местного времени:

(4) Получите метку времени через time.time(), затем передайте результат в time.localtime(), чтобы получить кортеж времени, и, наконец, передайте кортеж в time.asctime():

5. ctime: возвращает время в виде строки, вы можете передать время в формате метки времени для преобразования

Переданный параметр представляет собой временную метку, а результат имеет форму строки.

(1) Стандартная ситуация

(2) Укажите метку времени

(3) Передать отметку времени промежуточного результата

time.time() получает временную метку текущего времени

6. mktime: кортеж времени преобразуется в форму метки времени, кортеж времени должен быть взят в качестве параметра

Входящий параметр имеет форму кортежа времени, а возвращаемый результат — временная метка.

(1) Получите кортеж времени через time.localtime() и передайте его в time.mktime

(2) Передать результаты других кортежей событий в качестве параметров

7. strftime: отформатируйте кортеж времени как строку времени. Если не указано, по умолчанию будет передано time.localtime(). Будет сообщено об ошибке, если какой-либо элемент в кортеже выйдет за границы.

Входящий параметр — это время в формате кортежа, а возвращаемый результат — строка времени.

(1) Выход по умолчанию — текущее время.

(2) Укажите кортеж времени

При указании формата мы также можем передать кортеж времени:

В следующей таблице показаны часто используемые форматы времени и значения:

Формат значение Диапазон значений (стиль)
%y удалить год века 00-99, например "19"
%Y полный год как в 2019 году
%j Указанная дата является днем ​​года Диапазон 001-366
%m возвращает месяц Диапазон: 01-12
%b местное упрощенное название месяца Сокращенный английский месяц
%B местное полное название месяца полный английский месяц
%d день месяца Например, возврат 1 мая — «01».
%H Час, 24-часовой формат 00-23
%l Час, 12-часовой формат 00-12
%M минута 00-59
%S второй 00-59
%U Неделя в году (воскресенье — начало недели) 00-53
%W То же, что и выше, начиная с понедельника 00-53
%w день недели 0-6
%Z Часовой пояс На материке тест возвращает CST
%x Дата день месяц год
%X время Минуты и секунды
%c Подробная дата и время День/Месяц/Год Час:Минута:Секунда
%% %персонаж '%'персонаж
%p утром и днем AM or PM

8. strptime: преобразование времени в виде строки в кортеж времени, функция, обратная функции strftime.

Два параметра: первый — данные о времени в виде строки, а второй — формат, который мы указали

Краткое изложение 8 основных методов

Резюме ввода и вывода 8 методов модуля времени:

метод входить вывод
time никто отметка времени
localtime отметка времени кортеж времени
gmtime отметка времени кортеж времени
asctime кортеж времени нить
ctime отметка времени нить
mktime кортеж времени отметка времени
strftime формат, кортеж времени (необязательно) нить
strptime строка, формат кортеж времени

веб-сайт времени

Время и дата

1. Преобразование григорианского календаря в лунный календарь:leatherskin.python.org/leatherskins/lunars…

2. Момент:GitHub.com/smashing into will/mo…

3. Когда:whenpy.readthedocs.io/en/latest/

4. Маятник:pendulum.eustace.io/

5. Машина времени:GitHub.com/Святая-Принцесса/бесплатно…

6. Рабочий календарь:GitHub.com/people doc/i…

7. Китайские официальные праздники:GitHub.com/Нейт Скарлет…

8. Python3-поваренная книга:Python3-cookbook.Прочитайте документ S.IO/this_cn/latshan…

Корреляция временных меток

Во многих случаях время, с которым мы сталкиваемся, представлено в виде метки времени.Как преобразовать метку времени в нашу обычную форму времени? Представьте несколько часто используемых веб-сайтов:

1. Инструменты для веб-мастеров:tool.eatwhat.com/tools/Unix ее…

2. сойсон:woohoo.so JSON.com/Unix time.Contract…

3. Инструментарий:инструменты.женщины/отметка времени.также…

4. Пекинское время:woohoo. Beijing-time.org/timestamp…

5. Онлайн-инструменты:tool.lu/timestamp/

Вам предоставляется последняя полная карта разума из 6 модулей, а использование оставшихся 5 библиотек будет обновлено позже:

  • Добро пожаловать в публичный аккаунт: You Er Hut
  • Ответьте на время, чтобы получить интеллект-карту в высоком разрешении