Содержание

Как в python получить текущую дату и время ➤ DefPython

Вот пример того, как получить текущую дату и время, используя модуль datetime в Python:

import datetime

now = datetime.datetime.now()

print print "Текущая дата и время с использованием метода str:" print str(now)
print print "Текущая дата и время с использованием атрибутов:" print "Текущий год: %d" % now.year print "Текущий месяц: %d"% now.month print "Текущий день: %d" % now.day print "Текущий час: %d" % now.hour print "Текущая минута: %d" % now.minute print "Текущая секунда: %d" % now.second print "Текущая микросекунда: %d" % now.microsecond print print "Текущая дата и время с использованием strftime:" print now.strftime("%d-%m-%Y %H:%M")
print print "Текущая дата и время с использованием isoformat:" print now.isoformat()


Результат:
Текущая дата и время с использованием метода str:
2015-11-18 16:15:11.
420121 Текущая дата и время с использованием атрибутов: Текущий год: 2015 Текущий месяц: 11 Текущий день: 18 Текущий час: 16 Текущая минута: 15 Текущая секунда: 11 Текущая микросекунда: 420121 Текущая дата и время с использованием strftime: 18-11-2015 16:15 Текущая дата и время с использованием isoformat: 2015-11-18T16:15:11.420121

Другие полезные методы класса datetime:

datetime.today() — текущая дата, время равно 0.

datetime.fromtimestamp(timestamp) — дата из стандартного представления времени.

datetime.date() — объект даты (с отсечением времени).

datetime.time() — объект времени (с отсечением даты).

datetime.combine(date, time) — объект datetime из комбинации объектов date и time.

datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) — возвращает новый объект datetime с изменёнными атрибутами.

datetime.weekday() — день недели в числовом формате, понедельник — 0, воскресенье — 6.

datetime.isoweekday() — день недели в числовом формате, понедельник — 1, воскресенье — 7.

datetime.strptime(date_string, format) — преобразует строку в datetime.

datetime.strftime(format) — преобразует datetime в строку в datetime.

Опции strftime из документации на модуль time

Директива

Значение

Примечания

%a

Сокращенное название дня недели

 

%A

Полное название дня недели

 

%b

Сокращенное название месяца

 

%B

Полное название месяца

 

%c

Дата и время

 

%d

День месяца [01,31]  

%H

24-часовой формат часа [00,23]  

%I

12-часовой формат часа [01,12]

 

%j

День года. Цифровой формат [001,366]  

%m

Номер месяца. Цифровой формат [01,12]

 

%M

Минута. Цифровой формат [00,59]

 

%p

До полудня или после (AM или PM)

(1)

%S

Секунда. Цифровой формат [00,61]

(2)

%U

Номер недели в году. Цифровой формат [00,53] (С воскресенья)

(3)

%w

День недели. Цифровой формат [0(Sunday),6]

 

%W

Номер недели в году. Цифровой формат [00,53] (С понедельника)

(3)

%x

Дата

 

%X

Время

 

%y

Год без века. Цифровой формат [00,99]

 

%Y

Год с веком. Цифровой формат

 

%Z

Временная зона

 

%%

Знак ‘%’

 

  1. При использовании функции strptime (), директива % р влияет на поле времени только, при использовании директивы %I .
  2. Диапазон действительно 0 до 61; это учитывает високосную секунду и (очень редко) двойную високосные секунду.
  3. При использовании функции strptime (),% U и% W расчитываются,  только когда указан день недели и год.

Текущая дата и время в Python OTUS

Время и дата играют важнейшую роль при решении определенных задач в программировании. Разработчику на Python приходится нередко использовать точные значения текущей (current) даты, к примеру, при сохранении информации в базе данных, вычислениях, регистрации, обеспечении доступа и т. д. В этой статье пойдет разговор о том, как узнать текущие временные значения с помощью модуля datetime. Вдобавок к этому, читатель узнает о временных настройках для разных часовых поясов и преобразовании объектов datetime в метки времени Unix.

Получаем текущую дату и время

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

  1. datetime. date: день, месяц и год;
  2. datetime.time: время в часах, минутах, секундах, а также микросекундах. Тут дата значения не имеет;
  3. datetime.datetime: здесь хранятся атрибуты date и time.

Для примера можно вывести в терминал текущую (current) дату и время. Можно воспользоваться объектом datetime.datetime — из него довольно просто извлекаются объекты date и time. Сначала следует импортировать требуемый модуль:

from datetime import datetime

Да, это выглядит странновато, т. к. речь идет о получении класса datetime из модуля datetime, однако это 2 разные вещи. Далее следует воспользоваться функцией now() — она позволит получить объект с текущим временем и датой.

from datetime import datetime

current_datetime = datetime.now()

print(current_datetime)

Набрав код выше, вы увидите на экране следующее (в вашем случае вывод изменится, ведь минуты не стоят на месте):

Что произошло? Функция now() отобразила объект, причем с датой и временем создания этого самого объекта.  В результате была выведена соответствующая строка. Однако никто не мешает получить временные атрибуты отдельно:  

Таким образом, метод now() вполне годится для получения текущей даты и времени. Но что делать, если надо получить лишь дату?

Работа с датой current

Существуют 2 способа получения текущей даты. Первый выводит нужные данные из объекта datetime посредством метода date():

Во втором применяется метод today() класса date:

Класс datetime.date позволяет получать календарную дату. Также следует добавить, что его атрибуты (year, month, day) бывают доступны и отдельно, как в примере с datetime.

Тут все понятно и просто. Но есть нюанс: если надо получить день недели, прописывают current_date.weekday()+1. Дело в том, что нумерация дней недели начинается с нуля, то есть понедельник — это 0, вторник — 1, среда — 2 и так далее. Если такое положение вещей устраивает, +1 можно и не добавлять.

А как поступить, если надо отобразить текущее время отдельно от даты?

Работаем с текущим временем

Текущее время от объекта datetime получают посредством метода time(). Вот как это выглядит:

Здесь отдельно получить часы, минуты, секунды и микросекунды не представляется возможным, да в этом и нет необходимости, т. к. само понятие времени суток не предполагает другого отображения.

Важно отметить, что есть возможность получить временные данные и с учетом нужного часового пояса (timezone). Как и что используется, поговорим ниже.

Другой часовой пояс: временные зоны (timezones)

Метод now() принимает в Python временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом. 

Для получения информации с учетом часового пояса необходимо задействовать библиотеку pytz (если ее нет, потребуется инсталляция, для чего подойдет команда pip3 install pytz).

Так как я нахожусь в Минске, давайте получим текущие временные значения (times) именно для Минска:

Строка в коде minsk_current_datetime является объектом datetime, то есть все то же самое, что и ранее, но уже в полном соответствии с часовым поясом Республики Беларусь.

Когда надо узнать время в UTC, тоже пригодится модуль pytz:

Получить время UTC можно и без модуля pytz, т. к. datetime имеет полезное свойство timezone. Что же, давайте задействуем свойство timezone:

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

Преобразование временных меток

Также может быть очень полезным преобразовывать время в один из самых широко применяемых форматов в вычислениях. Речь идет о временных метках Unix.

Доподлинно известно, что компьютерные системы измеряют время не так, как люди. Здесь за основу берется число секунд, которые прошли с начала Unix-эпохи, то есть с 00:00:00 UTC 1. 01.1979. Базы данных, протоколы и приложения обычно задействуют временную метку.

Для ее получения в «Питоне» пригодится модуль time, следовательно, первая строка будет import time:

Функция time.time() возвращает пользователю число с плавающей запятой и с временной меткой Unix. 

На этом все. Очень надеемся, что вы получили некоторое представление об использовании встроенных Python-библиотек и модулей, необходимых для отображения временных значений.

Источник

Как получить текущую дату и время в Python 

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

В этой статье мы узнаем, как получить текущую дату и время, используя встроенный в Python модуль datetime. С помощью этого модуля мы можем получить все соответствующие данные в одном объекте или извлечь дату и время отдельно.

Мы также узнаем, как настроить дату и время для разных часовых поясов. Наконец, мы рассмотрим преобразование объектов datetime в популярные метки времени Unix или Epoch.

Получение текущей даты и времени с datetime

Модуль 

datetime содержит различные классы, чтобы получить информацию о дате и времени:

  1. datetime.date: Хранит день, месяц и год
  2. datetime.time: Хранит время в часах, минутах, секундах и микросекундах. Эта информация не зависит от даты
  3. datetime.datetime: Хранит атрибуты date и time

Получим текущую дату и время с объектом datetime.datetime, так как из него легче извлечь объекты date и time. Для начала давайте импортируем модуль datetime:

from datetime import datetime

Поначалу это выглядит странно, но мы получаем класс 

datetime из модуля datetime, это две разные вещи.

Мы можем использовать функцию now(), чтобы получить объект с текущей датой и временем:

current_datetime = datetime.now()
print(current_datetime)

Запуск этого файла даст нам следующий вывод:

2019-12-13 12:18:18.290623

Функция now() дала нам объект со всей датой и временем его создания. Когда мы его печатаем, Python автоматически форматирует объект в строку, чтобы люди могли его легко прочитать. 

Вы можете получить отдельные атрибуты даты и времени следующим образом:

print(current_datetime.year)            # 2019
print(current_datetime.month)           # 12
print(current_datetime.day)             # 13
print(current_datetime.hour)            # 12
print(current_datetime.minute)          # 18
print(current_datetime.second)          # 18
print(current_datetime.microsecond)     # 290623

Метод now() идеально подходит для захвата текущего времени и даты. Однако, это излишне, когда вы заботитесь только о дате или времени, но не обоих.  Как мы можем получить только информацию о дате?

Получение текущей даты

Есть два способа получить текущую дату в Python. В консоли Python мы можем получить дату из объекта datetime с помощью метода date():

>>> from datetime import datetime
>>> current_date = datetime.now().date()
>>> print(current_date)
2019-12-13

Тем не менее, это кажется пустой тратой на инициализацию объекта datetime только для захвата даты. Альтернативой может быть использование метода today() класса date:

>>> from datetime import date
>>> current_date = date.today()
>>> print(current_date)
2019-12-13

Класс datetime.date представляет собой календарную дату. Его атрибуты year, month и day могут быть доступны так же, как мы обращаемся к ним в объекте datetime.

Например, этот оператор print получает каждый атрибут, а также использует метод weekday() для получения дня недели:

>>> print("It's the %dth day of the week, %dth day of the %dth month of the %dth year" %
. .. (current_date.weekday()+1, current_date.day, current_date.month, current_date.year))
It's the 5th day of the week, 13th day of the 12th month of the 2019th year

Примечание: Метод weekday() возвращает целое число от 0 до 6 для представления дня недели. 0 соответствует понедельнику. Поэтому в нашем примере мы добавили 1, чтобы напечатать 5-й день недели (пятница), хотя метод weekday() вернул 4.

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

Получение текущего времени

Мы фиксируем текущее время от объекта datetime, используя метод time():

>>> from datetime import datetime
>>> current_time = datetime.now().time()
>>> print(current_time)
12:18:18.290623

В отличие от получения дат, здесь нет ярлыка для непосредственного отображения текущего времени. Класс datetime.time представляет собой понятие времени как в часах, минутах, секундах и микросекунд — все, что меньше, чем один день.

Как и объект datetime, мы можем получить доступ к его атрибутам напрямую. Вот пример, как мы печатаем current_time в предложении:

>>> print("It's %d o'clock. To be exact, it's %d:%d and %d seconds with %d microseconds" %
... (current_time.hour, current_time.hour, current_time.minute, current_time.second, current_time.microsecond))
It's 12 o'clock. To be exact, it's 12:18 and 18 seconds with 290623 microseconds

По умолчанию функция now() возвращает время вашего местного часового пояса. Что если нам нужно будет преобразовать его в другой, который был установлен в настройках пользователя? Давайте посмотрим, как мы можем предоставить информацию о часовом поясе для получения локализованных объектов time.

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

Метод now() принимает временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом.  Во-первых, нам нужно получить данные о часовом поясе через библиотеку pytz.

Установите библиотеку pytz:

$ pip3 install pytz

Теперь давайте используя pytz получим текущую дату и время, если бы мы были в Берлине:

>>> import pytz
>>> from datetime import datetime
>>> tz = pytz.timezone('Europe/Berlin')
>>> berlin_current_datetime = datetime.now(tz)
>>> print(berlin_current_datetime)
2019-12-14 00:20:50.840350+01:00

berlin_current_datetime будет объектом datetime со всеми свойствами и функциями, которые мы видели ранее, но теперь он полностью соответствует часовому поясу Берлина.

Если вы хотите узнать время в UTC, вы можете использовать модуль pytz, как и раньше:

>>> import pytz
>>> from datetime import datetime
>>> utc_current_datetime = datetime.now(pytz.timezone("UTC"))
>>> print(utc_current_datetime)
2019-12-13 23:20:50. 840350+00:00

Кроме того, для времени UTC вам не нужно использовать модуль pytz вообще. Модуль datetime имеет свойство timezone, которое может быть использовано, как в примере:

>>> from datetime import datetime, timezone
>>> utc_current_datetime = datetime.now(timezone.utc)
>>> print(utc_current_datetime)
2019-12-13 23:20:50.840350+00:00

Теперь, когда мы можем преобразовать наши даты и время в разные часовые пояса, давайте посмотрим, как мы можем преобразовать его в один из наиболее широко используемых форматов в вычислениях — временные метки Unix.

Преобразование меток времени в даты и время

Компьютерные системы измеряют время на основе количества секунд, прошедших с начала эпохи Unix, то есть 00:00:00 UTC 1 января 1970 года. Приложения, базы данных и протоколы обычно используют временную метку для отображения времени.

Вы можете получить текущую метку времени в Python, используя модуль time:

>>> import time
>>> print(time. time())
1576280665.0915806

Функция time.time() возвращает число с плавающей запятой с меткой времени Unix. Вы можете преобразовать метку времени в объект datetime, используя функцию fromtimestamp():

>>> from datetime import datetime
>>> print(datetime.fromtimestamp(1576280665))
2019-12-13 19:44:25

fromtimestamp() по умолчанию возвращает объект datetime в вашем часовом поясе. Вы можете указать часовой пояс в качестве второго аргумента, если хотите, чтобы он был локализован по-другому.

Например, чтобы преобразовать метку времени в объект datetime в формате UTC, вы можете сделать это:

>>> from datetime import datetime, timezone
>>> print(datetime.fromtimestamp(1576280665, timezone.utc))
2019-12-13 19:44:25+00:00

И наоборот, вы можете использовать метод timestamp() для преобразования объекта datetime в допустимую метку времени:

>>> from datetime import datetime, timezone
>>> print(datetime. now(timezone.utc).timestamp())
1577117555.940705

Вывод

Встроенная Python библиотека datetime позволяет нам получать текущую дату и время с помощью функции now(). Мы можем использовать возвращенный объект datetime, чтобы извлечь только часть даты или часть времени. Мы также можем получить текущую дату с помощью функции today().

По умолчанию Python создает объекты datetime в нашем местном часовом поясе. Если мы используем библиотеку pytz, мы можем конвертировать даты и время в разные часовые пояса.

Наконец, мы использовали функцию fromtimestamp() для получения метки времени Unix для получения объекта datetime. Если у нас есть объект datetime, мы можем получить метку времени, используя его метод timestamp().

python — Как узнать текущее время?

Модуль

time

Модуль time предоставляет функции, сообщающие нам время в «секундах с начала эпохи», а также другие утилиты.

 время импорта
 

Время эпохи Unix

Это формат, в котором вы должны получать метки времени для сохранения в базах данных. Это простое число с плавающей запятой, которое можно преобразовать в целое число. Это также удобно для арифметики в секундах, так как представляет количество секунд, прошедших с 1 января 19 года.70, 00:00:00, и это свет памяти по сравнению с другими представлениями времени, которые мы рассмотрим далее:

 >>> time.time()
1424233311.771502
 

Эта метка времени не учитывает дополнительные секунды, поэтому она не является линейной — дополнительные секунды игнорируются. Таким образом, хотя он и не эквивалентен международному стандарту UTC, он близок и, следовательно, вполне подходит для большинства случаев ведения учета.

Однако это не идеально для планирования человеком. Если у вас есть будущее событие, которое вы хотите провести в определенный момент времени, вы захотите сохранить это время в строке, которую можно разобрать на 9объект 0005 datetime или сериализованный объект datetime (они будут описаны позже).

time.ctime

Вы также можете представить текущее время так, как предпочитает ваша операционная система (это означает, что оно может меняться при изменении настроек вашей системы, поэтому не полагайтесь на то, что это стандартно для всех систем). , как я и ожидал от других). Это обычно удобно для пользователя, но обычно не приводит к строкам, которые можно отсортировать в хронологическом порядке:

 >>> время.ctime()
'Вт, 17 февраля, 23:21:56 2015'
 

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

 >>> time.ctime(1424233311.771502)
'Вт, 17 февраля, 23:21:51 2015'
 

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

модуль datetime

Модуль datetime также весьма полезен здесь:

 >>> import datetime
 

datetime. datetime.now

datetime.now — это метод класса, который возвращает текущее время. Он использует time.localtime без информации о часовом поясе (если она не указана, в противном случае см. сведения о часовом поясе ниже). У него есть представление (которое позволит вам воссоздать эквивалентный объект), отображаемое в оболочке, но при печати (или принудительное преобразование в str ), он имеет удобочитаемый (и почти ISO) формат, а лексикографическая сортировка эквивалентна хронологической сортировке:

 >>> datetime.datetime.now()
datetime.datetime(2015, 2, 17, 23, 43, 49, 94252)
>>> print(datetime.datetime.now())
2015-02-17 23:43:51.782461
 

datetime’s

utcnow

Вы можете получить объект datetime в формате UTC, глобальном стандарте, выполнив следующие действия:

 >>> datetime.datetime.utcnow()
datetime.datetime(2015, 2, 18, 4, 53, 28, 394163)
>>> print(datetime.datetime.utcnow())
2015-02-18 04:53:31. 783988
 

UTC — это стандарт времени, почти эквивалентный часовому поясу GMT. (Хотя GMT и UTC не изменяются для перехода на летнее время, их пользователи могут переключаться на другие часовые пояса, например, на британское летнее время, в течение лета.) far можно легко преобразовать в различные часовые пояса. Мы можем решить эту проблему с помощью pytz модуль:

 >>> импорт pytz
>>> затем = datetime.datetime.now(pytz.utc)
>>> тогда
datetime.datetime(2015, 2, 18, 4, 55, 58, 753949, tzinfo=)
 

Эквивалентно, в Python 3 у нас есть класс timezone с прикрепленным экземпляром utc timezone , который также делает объект осведомленным о часовом поясе (но преобразование в другой часовой пояс без удобного модуля pytz остается в качестве упражнения для читатель):

 >>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.utc)
 

И мы видим, что можем легко преобразовать в часовые пояса исходный объект UTC.

 >>> напечатать(затем)
2015-02-18 04:55:58.753949+00:00
>>> print(then.astimezone(pytz.timezone('США/Восток')))
2015-02-17 23:55:58.753949-05:00
 

Вы также можете сделать наивный объект datetime осведомленным с часовым поясом pytz локализовать методом или заменой атрибута tzinfo (с заменить , это делается вслепую), но это скорее крайние меры, чем лучшие практики:

 >>> pytz.utc.localize(datetime.datetime.utcnow( ))
datetime.datetime(2015, 2, 18, 6, 6, 29, 32285, tzinfo=)
>>> datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
datetime.datetime(2015, 2, 18, 6, 9, 30, 728550, tzinfo=)
 

Модуль pytz позволяет нам сделать наши datetime объектов учитывают часовой пояс и преобразуют время в сотни часовых поясов, доступных в модуле pytz .

Можно было бы якобы сериализовать этот объект для времени UTC и хранить и в базе данных, но это потребует гораздо больше памяти и будет более подвержено ошибкам, чем простое сохранение времени эпохи Unix, что я продемонстрировал первым.

Другие способы просмотра времени гораздо более подвержены ошибкам, особенно при работе с данными, которые могут поступать из разных часовых поясов. Вы хотите, чтобы не было путаницы в отношении того, для какого часового пояса предназначена строка или сериализованный объект даты и времени.

Если вы показываете время с помощью Python для пользователя, ctime прекрасно работает, но не в таблице (обычно она плохо сортируется), а, возможно, в часах. Тем не менее, я лично рекомендую при работе со временем в Python использовать либо время Unix, либо объект UTC datetime с учетом часового пояса.

datetime — Как получить текущее время в миллисекундах в Python?

Спросил

Изменено 2 месяца назад

Просмотрено 1,1 млн раз

733

Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.

Как узнать текущее время в миллисекундах в Python?

  • питон
  • дата-время
  • время

4

Использование time.time() :

 время импорта
защита current_milli_time():
    возврат раунда (time.time () * 1000)
 

Тогда:

 >>> текущее_милли_время()
1378761833768
 

16

Для Python 3.7+ используйте time.time_ns() , чтобы получить время в виде прошедших наносекунд от эпохи.

Это дает время в миллисекундах как целое число:

 время импорта
мс = время.time_ns() // 1_000_000
 

3

time.time() может давать разрешение только до секунды, предпочтительным подходом для миллисекунд является datetime .

 из даты и времени импорта даты и времени
дт = дата-время. сейчас()
dt.микросекунда
 

14

 по определению TimestampMillisec64():
    return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
 

3

Просто пример кода:

 время импорта
метка времени = интервал (время.время()*1000.0)
 

Выход: 1534343781311

1

В версиях Python после 3.7 лучший ответ — использовать время.perf_counter_ns() . Как указано в документах:

time.perf_counter() -> float

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

time.perf_counter_ns() -> целое число

Аналогично perf_counter(), но время возврата в наносекундах

Как говорится, он будет использовать лучший счетчик, который может предложить ваша система, и он специально разработан для использования при измерении производительности (и поэтому пытается избежать распространенных ошибок других таймеров).

Это также дает вам хорошее целое число наносекунд, так что просто разделите на 1000000, чтобы получить миллисекунды:

 start = time.perf_counter_ns()
# поработай немного
продолжительность = время.perf_counter_ns() - начало
print(f"Ваша продолжительность была {duration // 1000000} мс.")
 

2

другое решение — функция, которую вы можете встроить в свой собственный utils.py

 импортировать время как время_ #убедитесь, что мы не переопределяем время
деф миллис():
    вернуть целое число (раунд (time_. time () * 1000))
 

Если вам нужен простой метод в вашем коде, который возвращает миллисекунды с datetime:

 from datetime import datetime
из datetime импортировать timedelta
start_time = дата и время.сейчас()
# возвращает количество миллисекунд, прошедших с момента запуска программы
деф миллис():
   dt = datetime.now() - время_начала
   ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000,0
   вернуть мс
 

2

Если вы беспокоитесь об измерении прошедшего времени, вам следует использовать монотонные часы (python 3). На эти часы не влияют обновления системных часов, как если бы, например, запрос NTP скорректировал ваше системное время.

 >>> время импорта
>>> миллисекунды = раунд(time.monotonic() * 1000)
 

Предоставляет эталонное время в секундах, которое можно использовать для последующего сравнения для измерения прошедшего времени.

Самый простой способ получить текущее время UTC в миллисекундах:

 # timeutil. py
импорт даты и времени
защита get_epochtime_ms():
    возврат раунда (datetime.datetime.utcnow(). timestamp() * 1000)
# образец.py
импортировать timeutil
timeutil.get_epochtime_ms()
 

Если вы используете мой код (ниже), время будет отображаться в секундах, а затем, после запятой, в миллисекундах. Я думаю, что разница между Windows и Unix есть — пожалуйста, прокомментируйте, если она есть.

 от времени импорта времени
х = время ()
печать (х)
 

мой результат (в Windows):

 1576095264.2682993
 

РЕДАКТИРОВАТЬ : Нет никакой разницы 🙂 Спасибо tc0nn

2

ОБНОВЛЕНО: спасибо @neuralmer.

Один из самый эффективный способов:

 (time.time_ns() + 500000) // 1000000 # округление последней цифры (цифра 1 мс)
 

или

 time.time_ns() // 1000000 #полная последняя цифра (цифра 1 мс)
 

Оба метода очень эффективны.

ЭТАЛОН:

Вы можете увидеть результатов тестов различных методов на моей собственной машине ниже:

 время импорта
т = время.perf_counter_ns()
для я в диапазоне (1000):
    o = time.time_ns() // 1000000 # каждые 200 нс
t2 = время.perf_counter_ns()
напечатать((t2 - t)//1000)
т = время.perf_counter_ns()
для я в диапазоне (1000):
    o = (time.time_ns() + 500000) // 1000000 # каждое 227 нс
t2 = время.perf_counter_ns()
напечатать((t2 - t)//1000)
т = время.perf_counter_ns()
для я в диапазоне (1000):
    o = round(time.time_ns() / 1000000) #каждый 456 нс
t2 = время.perf_counter_ns()
напечатать((t2 - t)//1000)
т = время.perf_counter_ns()
для я в диапазоне (1000):
    о = int(time.time_ns() / 1000000) #каждое 467 нс
t2 = время.perf_counter_ns()
напечатать((t2 - t)//1000)
т = время.perf_counter_ns()
для я в диапазоне (1000):
    о = int(time.time()* 1000) #каждое 319нс
t2 = время.perf_counter_ns()
напечатать((t2 - t)//1000)
т = время. perf_counter_ns()
для я в диапазоне (1000):
    o = round(time.time()* 1000) #каждый 342 нс
t2 = время.perf_counter_ns()
print((t2 - t)//1000)```
 

2

После некоторого тестирования в Python 3.8+ я заметил, что эти параметры дают точно такой же результат, по крайней мере, в Windows 10.

 время импорта
# Опция 1
unix_time_ms_1 = интервал (time.time_ns () / 1000000)
# Вариант 2
unix_time_ms_2 = интервал (время.время () * 1000)
 

Не стесняйтесь использовать тот, который вам больше нравится, и я не вижу необходимости в более сложном решении, чем это.

Эти умножения на 1000 для миллисекунд могут оказаться подходящими для решения или обеспечения приемлемости некоторых предпосылок. Его можно использовать для заполнения пробела в вашей базе данных, которая на самом деле никогда его не использует. Хотя в реальных ситуациях, требующих точного расчета времени, это в конечном итоге не сработает. Я бы не советовал никому использовать этот метод для критически важных операций, требующих действий или обработки в определенное время.

Например: пинг туда и обратно в США составляет 30-80 мс … Вы не могли бы просто округлить это и использовать его эффективно.

Мой собственный пример требует, чтобы задачи выполнялись каждую секунду, что означает, что если бы я округлил данные после того, как ответили первые задачи, я бы все равно потратил время обработки, умноженное на каждый цикл основного цикла. В итоге это стало общим вызовом функции каждые 60 секунд. это ~ 1440 в день .. не слишком точно.

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

2

Время с unix

 от времени импорта времени
пока верно:
    print(str(time()*1000)+'ms\r', end='')
 

Время с момента запуска программы

 от времени импорта времени
инициализация = время ()
пока верно:
    print(str((time()-init)*1000)+'ms\r', end='')
 

Спасибо за ваше время

Еще одно решение, использующее модуль datetime для Python 3+.

раунд(datetime.datetime.timestamp(datetime.datetime.now()) * 1000)

0

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

В этой статье мы рассмотрим различные методы получения данных и времени с помощью модуля DateTime и модуля времени в Python.

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

  1. Текущее время с использованием объекта DateTime
  2. Получение времени с помощью модуля времени 0007

    В этом примере мы узнаем, как получить текущую дату и время с помощью Python. В Python дата и время не являются самостоятельными типами данных, но модуль с именем DateTime можно импортировать для работы как с датой, так и со временем. Модуль Datetime встроен в Python, поэтому нет необходимости устанавливать его извне. Для получения текущей даты и времени используется функция datetime. now() модуля DateTime. Эта функция возвращает текущую локальную дату и время.

    Пример 1. Текущая дата и время с использованием DateTime 

    В этом примере мы будем использовать объект DateTime для получения даты и времени с помощью datetime.now().

    Python3

     

    import datetime

     

    current_time = datetime.datetime.now()

     

    print ( "Time сейчас на гринвичском меридиане:" , текущее_время)

    Выход:

     Время в Гринвиче Меридиан: 2022-06-20 16: 06: 13.176788 

    Пример 2: 8. имеют разные атрибуты, как и атрибуты времени, такие как год, месяц, дата, час, минута и секунда.

    Python3

    импорт datetime

    current_time = datetime.datetime.now()

     

    print ( "The attributes of now() are :" )

     

    print ( "Год:" , current_time.year)

    Печать ( "Месяц:" , Current_time.Month)

    559006 (

    595. 0006 "День:" , current_time.day)

    Печать ( "час:" , Current_time.hour)

    59965 (9 8

    5 9

    "

    1119

    5 9991119

    5 69

    5 9

    " : " , current_time.minute)

    Печать ( " Второй: " , current_time.second)

    Print (

    "

    .0006 , текущее_время.микросекунда)

    Вывод:

     Атрибуты now():
    Год : 2022
    Месяц : 6
    День : 20
    Час : 16
    Минута : 3
    Второй: 25
    Микросекунды : 547727 

    Пример 3. Получение определенного часового пояса с помощью pytz и datetime

    В этом примере видно, что приведенный выше код не дает текущую дату и время вашего часового пояса. Чтобы получить дату и время для определенного часового пояса, now() принимает часовой пояс в качестве входных данных, чтобы получить время вывода, ориентированное на часовой пояс. Но эти часовые пояса определены в 9Библиотека 0258 pytz .

    Python3

    Импорт DateTime

    6666666666666666.1000966.100066.10009.10009.10006666666666666666.1000666.10006666666.100066.100066.1000966.10009.1000966.100066.100066.100066.100066.100066.100066.100066.1000669. /Kolkata' ))

     

    print ( "Текущее время в Индии:" , current_time)

    Вывод:

     Текущее время в Индии:
    2019-12-11 19:28:23. 973616+05:30 

    Пример 4. Получение текущего времени в формате UTC с использованием даты и времени

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

    Python3

    04040404040404040404040404040404040404040404040404040404040404040404040404040щей. Время UTC: 2022-06-20 11:10:18.289111

    Пример 5. Получение текущего времени в формате ISO с использованием метода datetime

    isoformat() используется для получения текущей даты и времени в следующем формате: Начало с годом, за которым следует месяц, день, час, минуты, секунды и миллисекунды.

    Python3

    от DateTime Import DateTime

    Печать ( "UTC Время:" , DateTime.UTCNOW ()

    от DateTime Импорт DateTime AS

    x =

    x 9111111111111111111111111111111111111111, 9000. ( 'Current ISO:' , x)

    Выход:

     Текущий ISO: 2022-06-20T17: 03: 23.299672 

    .0007

    Модуль времени Python позволяет работать со временем в Python. Он предоставляет такие функции, как получение текущего времени, приостановка выполнения программы и т. д. Итак, прежде чем мы начнем работать с этим модулем, мы должны сначала импортировать его.

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

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

    Python3

    импорт время

    Curr_time = Время. Время текущего: « , curr_time)

    Выход:

     Текущее время: 16:19:13 

    Пример 2: Get Current in Milliseconds Использование 999 9008 8658 2008 года. пытаются получить время в миллисекундах, умножая время на 1000.

    Python3

    import time

     

    millisec = int ( round (time.time() * 1000 ) )

    Печать ( "Время в Милли секунды:" , Millisec)

    Выходность:

     Время в Милл. 0013 

    Пример 3. Получение текущего времени в наносекундах с помощью time

    В этом примере мы получим время в наносекундах с помощью метода time.ns() .

    Python3

    Импорт Время

    Curr_time = Время. )

     

    печать ( "Текущее время:" , curr_time)

    Nano_Seconds = Time_NS ()

    ПЕЧАТЬ ( "Время.

    Вывод:

     Текущее время: 16:26:52
    Текущее время в наносекундах: 1655722612496349800 

    Пример 4.

    Получение текущего времени по Гринвичу с использованием времени

    Среднее время по Гринвичу, которое также известно как GMT, можно использовать с помощью метода time.gmtime() в python, просто нужно передать время в секундах к этому методу, чтобы получить GMT

    Python3

    import time

     

    gmt_time = time.gmtime(time.time())

     

    print ( 'Current Время по Гринвичу:\n' , gmt_time)

    Вывод:

     Текущее время по Гринвичу:
     time.struct_time (tm_year = 2022, tm_mon = 6, tm_mday = 20,
     tm_hour=11, tm_min=24, tm_sec=59, tm_wday=0, tm_yday=171, tm_isdst=0) 

    Пример 5.