Рассмотрим 4 способа, как получить текущую метку времени в Python.
Способ 1: использование функции time.time()
Функция Python time.time() используется для получения текущего времени в секундах с начала эпохи.
Пример 1
|
1 2 3 4 |
import time secondsSinceEpoch = time.time() print(secondsSinceEpoch) |
Выход
|
1 |
1589434816.805749 |
Ваш результат будет отличаться в зависимости от времени выполнения приведенного выше кода.
Мы можем преобразовать секунды с начала эпохи в struct_time.
Пример 2
|
1 2 3 4 5 |
import time secondsSinceEpoch = time.time() timeObj = time.localtime(secondsSinceEpoch) print(timeObj) |
Выход
|
1 2 3 |
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=14, tm_hour=11, tm_min=14, tm_sec=37, tm_wday=3, tm_yday=135, tm_isdst=0) |
Из объекта вы можете видеть, что мы можем получить доступ к переменным-членам объекта struct_time, чтобы создать текущую метку времени в строковом формате.
|
1 |
Способ 2: с помощью модуля datetime
Модуль datetime предоставляет классы для изменения даты и времени более объектно-ориентированным способом. Одним из них является datetime.datetime.now, который возвращает количество секунд, прошедших с начала эпохи.
Пример
|
1 2 3 4 |
import datetime; ts = datetime.datetime.now().timestamp() print(ts) |
Выход
|
1 |
1589435542.715096 |
Способ 3: использование модуля calendar
Python также предоставляет модуль календаря. В этом случае мы будем использовать функцию Calendar.timegm() для преобразования кортежа, представляющего текущее время.
Пример
|
1 2 3 4 5 |
import calendar import time ts = calendar.timegm(time.gmtime()) print(ts) |
Выход
|
1 |
1589435637 |
Способ 4: с помощью метода time.ctime()
Метод time.ctime() преобразует время, выраженное в секундах с начала эпохи, в строку, представляющую местное время. Если секунды не указаны или отсутствуют, отображается текущее время, возвращаемое функцией time().
Пример
|
1 2 3 4 |
import time timeString = time.ctime() print('The current timestamp is: ', timeString) |
Выход
|
1 |
The current timestamp is: Thu May 14 11:19:45 2020 |
