Как в python получить текущую дату и время ➤ DefPython
Вот пример того, как получить текущую дату и время, используя модуль datetime в Python:
import datetimenow = 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 |
Временная зона |
|
%% |
Знак ‘%’ |
- При использовании функции strptime (), директива % р влияет на поле времени только, при использовании директивы %I .
- Диапазон действительно 0 до 61; это учитывает високосную секунду и (очень редко) двойную високосные секунду.
- При использовании функции strptime (),% U и% W расчитываются, только когда указан день недели и год.
Текущая дата и время в Python OTUS
Время и дата играют важнейшую роль при решении определенных задач в программировании. Разработчику на Python приходится нередко использовать точные значения текущей (current) даты, к примеру, при сохранении информации в базе данных, вычислениях, регистрации, обеспечении доступа и т. д. В этой статье пойдет разговор о том, как узнать текущие временные значения с помощью модуля datetime. Вдобавок к этому, читатель узнает о временных настройках для разных часовых поясов и преобразовании объектов datetime в метки времени Unix.
Получаем текущую дату и времяDatetime включает в себя разные классы, позволяющие получать нужные временные данные:
- datetime. date: день, месяц и год;
- datetime.time: время в часах, минутах, секундах, а также микросекундах. Тут дата значения не имеет;
- 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()
вполне годится для получения текущей даты и времени. Но что делать, если надо получить лишь дату?
Существуют 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.date
: Хранит день, месяц и годdatetime.time
: Хранит время в часах, минутах, секундах и микросекундах. Эта информация не зависит от датыdatetime.datetime
: Хранит атрибутыdate
иtime
Получим текущую дату и время с объектом datetime.datetime
, так как из него легче извлечь объекты date
и time
. Для начала давайте импортируем модуль datetime
:
from datetime import 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
- Текущее время с использованием объекта DateTime
- Получение времени с помощью модуля времени 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 85
"
11195
99911195
695
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
))
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от
DateTime
Import
DateTime
Печать
(
"UTC Время:"
, DateTime.UTCNOW ()
Пример 5. Получение текущего времени в формате ISO с использованием метода datetime
isoformat() используется для получения текущей даты и времени в следующем формате: Начало с годом, за которым следует месяц, день, час, минуты, секунды и миллисекунды.
Python3
от
DateTime
Импорт
DateTime AS
x
=
9111111111111111111111111111111111111111, 9000. (x
'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
В этом примере мы получим время в наносекундах с помощью метода 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.