Хотя вопрос в том, чтобы получить «только дату», я пришел за… этим, так что спасибо. Кроме того, чтобы получить немного более гуманную строку: datetime.datetime.now().ctime()==>'Wed Sep 4 13:12:39 2019'
Денис
13
Вы можете использовать простые методы форматирования строк:
Если вы ищете простой способ datetimeпреобразования строк и можете пропустить формат. Вы можете преобразовать datetimeобъект в strи затем использовать нарезку массива.
Но обратите внимание на следующее. Если другие решения будут расти, AttributeErrorкогда переменная находится Noneв этом случае, вы получите 'None'строку.
Можно преобразовать объект datetime в строку, работая напрямую с компонентами объекта datetime.
from datetime import date
myDate = date.today()#print(myDate) would output 2017-05-23 because that is today#reassign the myDate variable to myDate = myDate.month #then you could print(myDate.month) and you would get 5 as an integer
dateStr = str(myDate.month)+"/"+ str(myDate.day)+"/"+ str(myDate.year)# myDate.month is equal to 5 as an integer, i use str() to change it to a # string I add(+)the "/" so now I have "5/" then myDate.day is 23 as# an integer i change it to a string with str() and it is added to the "5/" # to get "5/23" and then I add another "/" now we have "5/23/" next is the # year which is 2017 as an integer, I use the function str() to change it to # a string and add it to the rest of the string. Now we have "5/23/2017" as # a string. The final line prints the string.print(dateStr)
DateTimeField
илиDateField
в Джанго. Спасибоt = datetime.datetime.now()
чтобы использовать текущую датуdate
иdatetime
объекты (иtime
также) поддерживают мини-язык для указания вывода , и есть два способа получить к нему доступ:dt.strftime('format here')
; и'{:format here}'.format(dt)
Итак, ваш пример может выглядеть так:
или
Для полноты картины: вы также можете напрямую получить доступ к атрибутам объекта, но тогда вы получите только цифры:
Время, затраченное на изучение мини-языка, того стоит.
Для справки вот коды, используемые на мини-языке:
%a
День недели как сокращенное название локали.%A
День недели как полное название локали.%w
День недели в виде десятичного числа, где 0 - воскресенье, а 6 - суббота.%d
День месяца в виде десятичного числа с нулем.%b
Месяц как сокращенное название локали.%B
Месяц как полное название локали.%m
Месяц в виде десятичного числа с добавлением нуля. 01, ..., 12%y
Год без столетия как десятичное число с нулем. 00, ..., 99%Y
Год с веком как десятичное число. 1970, 1988, 2001, 2013%H
Час (24-часовой формат) в виде десятичного числа с добавлением нуля. 00, ..., 23%I
Час (12-часовой формат) в виде десятичного числа с добавлением нуля. 01, ..., 12%p
Локальный эквивалент либо AM, либо PM.%M
Минута как десятичное число с добавлением нуля. 00, ..., 59%S
Во-вторых, как дополненное нулями десятичное число. 00, ..., 59%f
Микросекунда как десятичное число, дополненное нулями слева. 000000, ..., 999999%z
Смещение UTC в форме + ЧЧММ или -ЧЧММ (пусто, если наивно), +0000, -0400, +1030%Z
Название часового пояса (пусто, если наивно), UTC, EST, CST%j
День года в виде десятичного числа с нулем. 001, ..., 366%U
Номер недели в году (воскресенье - первое) в виде десятичного числа с добавлением нуля.%W
Номер недели в году (понедельник первый) в виде десятичного числа.%c
Соответствие локали дате и времени.%x
Соответствующее представление даты локали.%X
Соответствующее время локали.%%
Буквенный символ «%».источник
Другой вариант:
источник
datetime.datetime.now().ctime()
==>'Wed Sep 4 13:12:39 2019'
Вы можете использовать простые методы форматирования строк:
источник
'{:%Y-%m-%d %H:%M}'.format(datetime(2001, 2, 3, 4, 5))
. Подробнее на pyformat.infotype-specific formatting
также можно использовать:Вывод:
источник
Если вы ищете простой способ
datetime
преобразования строк и можете пропустить формат. Вы можете преобразоватьdatetime
объект вstr
и затем использовать нарезку массива.Но обратите внимание на следующее. Если другие решения будут расти,
AttributeError
когда переменная находитсяNone
в этом случае, вы получите'None'
строку.источник
Можно преобразовать объект datetime в строку, работая напрямую с компонентами объекта datetime.
Выходные данные -> 23.05.2017
источник
Вы можете конвертировать дату и время в строку.
источник
Конкатенация строк,
str.join
может использоваться для построения строки.источник
Если вы хотите время, просто идите с
Отпечатки
2019-07-11 19:36:31.118766
в консоли для меняисточник