Как в 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 в строку в 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] (С воскресенья) |
|
%w |
День недели. Цифровой формат [0(Sunday),6] |
|
%W |
Номер недели в году. Цифровой формат [00,53] (С понедельника) |
(3) |
%x |
Дата |
|
%X |
Время |
|
%y |
Год без века. Цифровой формат [00,99] |
|
%Y |
Год с веком. Цифровой формат |
|
%Z |
Временная зона |
|
%% |
Знак ‘%’ |
- При использовании функции strptime (), директива % р влияет на поле времени только, при использовании директивы %I .
- Диапазон действительно 0 до 61; это учитывает високосную секунду и (очень редко) двойную високосные секунду.
- При использовании функции strptime (),% U и% W расчитываются, только когда указан день недели и год.
как получить на примерах кода
Главная » Числа, даты и время Python
Мы можем использовать модуль datetime в Python, чтобы получить текущую дату и время в локальной системе.
from datetime import datetime # Current date time in local system print(datetime.now())
Выход: 2018-09-12 14: 17: 56.456080
Содержание
- Текущая дата
- Текущее время
- Текущая дата и время в часовом поясе – pytz
- Модуль Pendulum
Текущая дата
Если вас интересует только дата в локальной системе, вы можете использовать метод datetime date().
print(datetime.date(datetime.now()))
Выход: 2018-09-12
Текущее время
Если вам нужно только время в локальной системе, используйте метод time(), передав объект datetime в качестве аргумента.
print(datetime.time(datetime.now()))
Выход: 14: 19: 46.423440
Текущая дата и время в часовом поясе – pytz
В большинстве случаев нам нужна дата в определенном часовом поясе, чтобы ее могли использовать и другие. Функция datetime now() в Python принимает аргумент часового пояса, который должен быть реализацией абстрактного базового класса tzinfo.
pytz – один из популярных модулей, который можно использовать для получения реализаций часового пояса.
Вы можете установить этот модуль, используя следующую команду PIP.
pip install pytz
Давайте рассмотрим несколько примеров использования модуля pytz для получения времени в определенных часовых поясах.
import pytz utc = pytz.utc pst = pytz.timezone('America/Los_Angeles') ist = pytz.timezone('Asia/Calcutta') print('Current Date Time in UTC =', datetime.now(tz=utc)) print('Current Date Time in PST =', datetime.now(pst)) print('Current Date Time in IST =', datetime.now(ist))
Вывод:
Current Date Time in UTC = 2018-09-12 08:57:18.110068+00:00 Current Date Time in PST = 2018-09-12 01:57:18.110106-07:00 Current Date Time in IST = 2018-09-12 14:27:18.110139+05:30
Если вы хотите узнать все поддерживаемые строки часовых поясов, вы можете распечатать эту информацию, используя следующую команду.
print(pytz.all_timezones)
Он напечатает список всех часовых поясов, поддерживаемых модулем pytz.
Модуль Pendulum
Модуль Pendulum в Python – это еще одна библиотека часовых поясов, и, согласно ее документации, она быстрее модуля pytz.
Мы можем установить модуль Pendulum, используя команду PIP ниже.
pip install pendulum
Вы можете получить список поддерживаемых строк часовых поясов из атрибута pendulum.timezones.
Давайте рассмотрим несколько примеров получения информации о текущей дате и времени в разных часовых поясах с помощью модуля маятника.
import pendulum utc = pendulum.timezone('UTC') pst = pendulum.timezone('America/Los_Angeles') ist = pendulum.timezone('Asia/Calcutta') print('Current Date Time in UTC =', datetime.now(utc)) print('Current Date Time in PST =', datetime.now(pst)) print('Current Date Time in IST =', datetime.now(ist))
Вывод:
Current Date Time in UTC = 2018-09-12 09:07:20.267774+00:00 Current Date Time in PST = 2018-09-12 02:07:20.267806-07:00 Current Date Time in IST = 2018-09-12 14:37:20. 267858+05:30
Рейтинг
( 1 оценка, среднее 5 из 5 )
Васильев А.Н. / автор статьи
Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.
Комментарии0 Поделиться: Загрузка …datetime — Как получить текущее время в миллисекундах в Python?
спросил
Изменено 5 месяцев назад
Просмотрено 1,2 млн раз
Как узнать текущее время в миллисекундах в Python?
- питон
- дата/время
- время
Использование time. time()
:
время импорта защита current_milli_time(): возврат раунда (time.time () * 1000)
Тогда:
>>> current_milli_time() 137876183376816
Для Python 3.7+, time.time_ns()
дает время в наносекундах, прошедшее с начала эпохи.
Это дает время в миллисекундах как целое число:
время импорта мс = время.time_ns() // 1_000_0003
time.time()
может давать разрешение только до секунды, предпочтительным подходом для миллисекунд является datetime
.
из даты и времени импорта даты и времени дт = дата-время.сейчас() dt.микросекунда15
по определению TimestampMillisec64(): return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)3
Просто пример кода:
время импорта метка времени = интервал (время. время()*1000.0)
Выход: 1534343781311
1 В версиях Python после 3.7 лучший ответ — использовать time.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)
Как получить текущую дату и время с помощью Python
В этой статье мы рассмотрим различные методы получения данных и времени с помощью модуля DateTime и модуля времени в Python.
Различные способы получения текущей даты и времени с помощью Python
- Текущее время с использованием объекта DateTime
- Получение времени с помощью модуля времени
Использование модуля Datetime
В этом примере мы узнаем, как получить текущую дату и время с помощью Python. В Python дата и время не являются самостоятельными типами данных, но модуль с именем DateTime можно импортировать для работы как с датой, так и со временем. Модуль Datetime встроен в Python, поэтому нет необходимости устанавливать его извне. Для получения текущей даты и времени используется функция datetime.now() модуля DateTime. Эта функция возвращает текущую локальную дату и время.
Текущая дата-время с использованием DateTimeВ этом примере мы будем использовать объект DateTime для получения даты и времени с помощью datetime.now().
Python3
импорт datetime 9002 0 текущее_время = datetime.datetime.now()
печать ( "Время сейчас на гринвичском меридиане: " , current_time) |
Вывод:
Текущее время на Гринвичском меридиане: 2022-06-20 16:06:13.17678 8
Временная сложность: O(1)
Вспомогательное пространство: O( 1)
timedate.now() имеют разные атрибуты, такие же, как атрибуты времени, такие как год, месяц, дата, час, минута и секунда.
Python3
импорт datetime
current_time = datetime.datetime.now() 900 02 print ( "Атрибуты now():" )
печать ( "Год :" , текущее_время.год) 900 20 печать ( "Месяц:" , текущее_время.месяц)
печать ( "День : " , текущее_время.день)
печать ( "Час : " , текущее_время.час)
напечатать ( "Минута : " , текущее_время.минута)
напечатать ( 9002 4 |
Вывод:
Текущий ISO: 2022-06-20T17 :03:23.299672
Получить текущее время Использование времени Модуль
Модуль времени Python позволяет работать со временем в Python. Он предоставляет такие функции, как получение текущего времени, приостановка выполнения программы и т. д. Итак, прежде чем мы начнем работать с этим модулем, мы должны сначала импортировать его.
Получение текущего времени с помощью модуля времениЗдесь мы получаем текущее время с помощью модуля времени.
Python3
импорт время
curr_time = time.strftime( "%H:%M:%S" , time. localtime())
печать ( "Текущий Время:" , curr_time) |
Вывод:
Текущее время: 16:19:13
901 23 Получить текущее время в миллисекундах, используя time
Здесь мы пытаемся получить время в миллисекундах путем умножения времени на 1000.
Python3
импорт время
миллисекунд = int ( раунд (time.time() * 1000 ) )
print ( "Время в миллисекундах: " , миллисекунды) |
Вывод:
Время в миллисекундах: 1655722337604Получить текущее время в наносекундах, используя time
В этом примере мы получим время в наносекундах, используя метод time. ns() .
Python3
импорт время
curr_time 900 23 = time.strftime( "%H:%M:%S" , time.localtime() )
печать ( "Текущее время:" , curr_time)
наносекунды = time.time_ns() 9002 0 print ( "Текущее время в наносекундах:" , nano_seconds) |
Вывод:
Текущее время: 16:26:52 Текущее время в наносекундах: 1655722612496349800
Получить текущее время по Гринвичу с использованием времени
Среднее время по Гринвичу, также известное как GMT, можно использовать с помощью метода time.gmtime() в python, просто нужно передать время в секундах, чтобы этот метод, чтобы получить GMT
Python3
импорт время
gmt_time 900 23 = time. |