Содержание

Как в 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

0

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

from datetime import datetime

# Current date time in local system
print(datetime.now())

Выход: 2018-09-12 14: 17: 56.456080

Содержание

  1. Текущая дата
  2. Текущее время
  3. Текущая дата и время в часовом поясе – pytz
  4. Модуль 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?

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

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

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

Тогда:

 >>> current_milli_time()
1378761833768
 
16

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

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

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

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)

0

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

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

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

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

Использование модуля 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)

Атрибуты DateTime с использованием DateTime

timedate.now() имеют разные атрибуты, такие же, как атрибуты времени, такие как год, месяц, дата, час, минута и секунда.

Python3

 

импорт datetime

 

current_time = datetime.datetime.now()

900 02  

print ( "Атрибуты now():" )

 

печать ( "Год :" , текущее_время.год)

 

900 20 печать ( "Месяц:" , текущее_время.месяц)

 

печать ( "День : " , текущее_время.день)

 

печать ( "Час : " , текущее_время.час)

 

напечатать ( "Минута : " , текущее_время.минута)

 

напечатать ( 9002 4 "Секунда :" , текущее_время. секунда)

  9Вывод:

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

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

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

Python3

импорт datetime

 

импорт pytz

 

текущее_время = datetime.datetime.now(pytz.timezone( 'Азия /Kolkata' ))

 

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

Вывод:

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

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

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

Python3

из datetime import datetime

 

print ( "UTC Time: " , datetime.utcnow())

Вывод:

 Время UTC : 2022-06-20 11:10:18.289111 

Получить текущее время в формате ISO с помощью метода datetime

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

x = dt.now().isoformat()

печать ( 'Текущий ISO:' , x)

Вывод:

 Текущий 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *