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

%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 расчитываются,  только когда указан день недели и год.