Python получить дату сегодня

Работа с датой и временем: модуль datetime

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

Пример 1: Получение текущей даты и времени.

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

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

В этом примере мы импортировали модуль datetime с помощью оператора import datetime .

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

Пример 2: Получение текущей даты.

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

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

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

Что находится внутри datetime?

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

import datetime print(dir(datetime))

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

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

Наиболее часто используемыми классами в модуле datetime являются:

Класс datetime.date

Объект date представляет дату (год, месяц и день).

Пример 3: объект date для представления даты.

import datetime d = datetime.date(2020, 6, 29) print(d)

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

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

Переменная d — это объект date .

Вы можете создавать объекты класса date , предварительно импортировав модуль datetime, а можете импортировать только класс date из модуля datetime. Вот как это делается:

from datetime import date a = date(2020, 6, 29) print(a) # 2020-06-29

Пример 4: Получение текущей даты.

Для получения информации о текущей дате можно воспользоваться методом today() .

from datetime import date today = date.today() print("Current date wp-block-separator"/> 

Пример 5: получение даты из метки времени (timestamp).

Мы также можем создавать объекты date из метки времени (timestamp). Термин timestamp употребляется для обозначения POSIX-времени — количества секунд, прошедшего с 00:00:00 UTC 1 января, 1970 года. Вы можете преобразовать метку времени в дату при помощи метода fromtimestamp().

from datetime import date timestamp = date.fromtimestamp(1326244364) print("Date wp-block-separator"/> 

Пример 6: вывод текущего года, месяца и дня.

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

from datetime import date today = date.today() print("Current year:", today.year) print("Current month:", today.month) print("Current day:", today.day)

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

Класс datetime.time

Экземпляр класса time представляет собой время (часы, минуты, секунды и микросекунды).

Пример 7: объект 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 wp-block-separator"/> 

Пример 8: вывод часов, минут, секунд и микросекунд.

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

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="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">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)

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

Первые три аргумента year , month и day в конструкторе datetime() являются обязательными. Отсутствующие данные будут заполнены нулями по умолчанию.

Пример 10: вывод года, месяца, часа, минуты и метки времени.

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 wp-block-separator"/> 

Пример 11: получение текущего момента времени.

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

from datetime import datetime date = datetime.today() print(date) date = datetime.now() print(date)

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

Класс datetime.timedelta

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

Пример 12: разница между двумя моментами времени.

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 wp-block-separator"/> 

Пример 13: разница между двумя объектами 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 wp-block-separator"/> 

Пример 14: отрицательный объект timedelta.

from datetime import timedelta t1 = timedelta(seconds = 33) t2 = timedelta(seconds = 54) t3 = t1 - t2 print("t3 =", t3) print("t3 wp-block-separator"/> 

Пример 15: интервал времени в секундах.

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

from datetime import timedelta t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423) print("total seconds https://docs.python.org/3/library/datetime.html#timedelta-objects" target="_blank" rel="noopener noreferrer">документации.

Формат datetime

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

В Python для работы с форматами есть методы strftime() и strptime().

Python strftime() — преобразование объекта datetime в строку

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

Пример 16: форматирование даты с использованием метода strftime().

from datetime import datetime 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)

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

Здесь %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]

Чтобы узнать больше о методе strftime() и кодах форматирования, перейдите по ссылке.

Python strptime()- преобразование строки в объект datetime

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

Пример 17: метод 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 https://www.programiz.com/python-programming/datetime/strptime" target="_blank" rel="noopener noreferrer">ссылке чтобы узнать больше о методе strptime().

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

Предположим, вы работаете над проектом и должны отображать дату и время в зависимости от часового пояса пользователей. Вместо того, чтобы пытаться обрабатывать часовой пояс самостоятельно, мы предлагаем вам использовать модуль 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"))

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

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

Источник

Читайте также:  How to read json file java
Оцените статью