Вывести сегодняшнюю дату python

Как управлять датой и временем в Python?

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

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

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

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

import datetime datetime_object = datetime.datetime.now() print(datetime_object)

Когда вы запустите программу, результат будет примерно таким:

Здесь мы импортировали модуль datetime, используя оператор import datetime.

Один из классов, определенных в модуле datetime, ‒ это класс datetime. Затем мы использовали метод now() для создания объекта datetime, содержащего текущие локальные дату и время.

Как получить текущую дату?

import datetime date_object = datetime.date.today() print(date_object)

Когда вы запустите программу, результат будет примерно таким:

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

Читайте также:  Работа с api python requests

Что внутри datetime?

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

import datetime print(dir(datetime))

Когда вы запустите программу, вывод будет:

['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

Обычно используемые классы в модуле datetime:

Класс datetime.date

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

Объект Date для представления даты

import datetime d = datetime.date(2019, 4, 13) print(d)

Когда вы запустите программу, вывод будет:

В приведенном выше примере date() является конструктором класса даты. Конструктор принимает три аргумента: год, месяц и день.

Переменная a ‒ объект даты.

Мы можем импортировать только класс даты из модуля datetime. Вот как:

from datetime import date a = date(2019, 4, 13) print(a)

Пример: Получить текущую дату

Вы можете создать объект даты, содержащий текущую дату, используя метод класса с именем today(). Вот как:

from datetime import date today = date.today() print("Current date EnlighterJSRAW" data-enlighter-language="python">from datetime import date timestamp = date.fromtimestamp(1326244364) print("Date EnlighterJSRAW" data-enlighter-language="python">Date = 2012-01-11

Пример: Вывести сегодняшний год, месяц и день

Мы можем легко получить год, месяц, день, день недели и т.д. из объекта даты. Вот как:

from datetime import date # date object of today's date today = date.today() print("Current year:", today.year) print("Current month:", today.month) print("Current day:", today.day)

datetime.time

Объект времени, созданный из класса времени, представляет местное время.

Объект времени для представления времени

from datetime import time # time(hour = 0, minute = 0, second = 0) a = time() print("a =", a) # time(hour, minute and second) b = time(11, 34, 56) print("b =", b) # time(hour, minute and second) c = time(hour = 11, minute = 34, second = 56) print("c =", c) # time(hour, minute, second, microsecond) d = time(11, 34, 56, 234566) print("d EnlighterJSRAW" data-enlighter-language="python">a = 00:00:00 b = 11:34:56 c = 11:34:56 d = 11:34:56.234566

Вывод часа, минуты, секунды и микросекунды

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

from datetime import time a = time(11, 34, 56) print("hour =", a.hour) print("minute =", a.minute) print("second =", a.second) print("microsecond EnlighterJSRAW" data-enlighter-language="python">hour = 11 minute = 34 second = 56 microsecond = 0

Обратите внимание, что мы не передали аргумент микросекунды. Следовательно, печатается его значение по умолчанию 0.

datetime.datetime

В модуле datetime есть класс с именем dateclass, который может содержать информацию как из объектов даты, так и времени.

Объект datetime

from datetime import datetime #datetime(year, month, day) a = datetime(2018, 11, 28) print(a) # datetime(year, month, day, hour, minute, second, microsecond) b = datetime(2017, 11, 28, 23, 55, 59, 342380) print(b)

Когда вы запустите программу, вывод будет:

2018-11-28 00:00:00 2017-11-28 23:55:59.342380

Первые три аргумента год, месяц и день в конструкторе datetime() являются обязательными.

Напечатать год, месяц, час, минуту и отметку времени

from datetime import datetime a = datetime(2017, 11, 28, 23, 55, 59, 342380) print("year =", a.year) print("month =", a.month) print("hour =", a.hour) print("minute =", a.minute) print("timestamp EnlighterJSRAW" data-enlighter-language="python">year = 2017 month = 11 day = 28 hour = 23 minute = 55 timestamp = 1511913359.34238

datetime.timedelta

Объект timedelta представляет разницу между двумя датами или временем.

Разница между двумя датами и временем

from datetime import datetime, date t1 = date(year = 2018, month = 7, day = 12) t2 = date(year = 2017, month = 12, day = 23) t3 = t1 — t2 print(«t3 =», t3) t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33) t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13) t6 = t4 — t5 print(«t6 =», t6) print(«type of t3 =», type(t3)) print(«type of t6 EnlighterJSRAW» data-enlighter-language=»python»>t3 = 201 days, 0:00:00 t6 = -333 days, 1:14:20 type of t3 = type of t6 =

Обратите внимание, что и t3, и t6 относятся к типу .

Разница между двумя объектами timedelta

from datetime import timedelta t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33) t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54) t3 = t1 - t2 print("t3 EnlighterJSRAW" data-enlighter-language="python">t3 = 14 days, 13:55:39

Здесь мы создали два объекта timedelta t1 и t2 , и их разница отображается на экране.

Печать отрицательного объекта timedelta

from datetime import timedelta t1 = timedelta(seconds = 33) t2 = timedelta(seconds = 54) t3 = t1 - t2 print("t3 =", t3) print("t3 EnlighterJSRAW" data-enlighter-language="python">t3 = -1 day, 23:59:39 t3 = 0:00:21

Продолжительность времени в секундах

Вы можете получить общее количество секунд в объекте timedelta, используя метод total_seconds().

from datetime import timedelta t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423) print("total seconds EnlighterJSRAW" data-enlighter-language="python">total seconds = 435633.233423

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

Дата и время в формате Python

Дата и время могут быть разными в разных местах, организациях и т.д. в США чаще используется мм/дд/гггг, а в Великобритании ‒ дд/мм/гггг.

Для этого в Python есть методы strftime() и strptime().

Метод strftime() ‒ объект datetime для строки

Метод определяется в классах date, datetime и time. Метод создает форматированную строку из заданного объекта даты, даты, времени или времени.

Форматирование даты с помощью strftime()

from datetime import datetime # current date and time now = datetime.now() t = now.strftime("%H:%M:%S") print("time:", t) s1 = now.strftime("%m/%d/%Y, %H:%M:%S") # mm/dd/YY H:M:S format print("s1:", s1) s2 = now.strftime("%d/%m/%Y, %H:%M:%S") # dd/mm/YY H:M:S format print("s2:", s2)

Когда вы запустите программу, результат будет примерно таким:

time: 04:34:52 s1: 12/26/2018, 04:34:52 s2: 26/12/2018, 04:34:52

Здесь % Y,% m,% d,% H и т.д. являются кодами формата. Метод strftime() принимает один или несколько кодов формата и возвращает на его основе отформатированную строку.

В приведенной выше программе t s1 и s2 -‒ это строки:

  • % Y — год [0001, …, 2018, 2019, …, 9999]
  • % m — месяц [01, 02, …, 11, 12]
  • % d — день [01, 02, …, 30, 31]
  • % H — час [00, 01, …, 22, 23
  • % M — минута [00, 01, …, 58, 59]
  • % S — секунда [00, 01, …, 58, 59]

Python strptime() ‒ строка для даты и времени

Метод создает объект datetime из заданной строки (представляющей дату и время).

strptime()

from datetime import datetime date_string = "21 June, 2018" print("date_string =", date_string) date_object = datetime.strptime(date_string, "%d %B, %Y") print("date_object EnlighterJSRAW" data-enlighter-language="python">date_string = 21 June, 2018 date_object = 2018-06-21 00:00:00

Метод принимает два аргумента:

Кстати, коды формата% d,% B и% Y используются для дня, месяца (полное имя) и года соответственно.

Обработка часового пояса

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

from datetime import datetime import pytz local = datetime.now() print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S")) tz_NY = pytz.timezone('America/New_York') datetime_NY = datetime.now(tz_NY) print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S")) tz_London = pytz.timezone('Europe/London') datetime_London = datetime.now(tz_London) print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

Когда вы запустите программу, результат будет примерно таким:

Local time: 2018-12-20 13:10:44.260462 America/New_York time: 2018-12-20 13:10:44.260462 Europe/London time: 2018-12-20 13:10:44.260462

Здесь datetime_NY и datetime_London ‒ это объекты, содержащие текущую дату и время соответствующего часового пояса.

Источник

Оцените статью