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

Вот пример того, как получить текущую дату и время, используя модуль 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] 
%H24-часовой формат часа [00,23] 
%I12-часовой формат часа [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 расчитываются,  только когда указан день недели и год.
EnglishRussianUkrainian