Как напечатать дату в обычном формате? - PullRequest
604 голосов
/ 22 ноября 2008

Это мой код:

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

Это печатает: 2008-11-22 это именно то, что я хочу.

Но у меня есть список, к которому я добавляю это, и затем вдруг все становится "вялым". Вот код:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist

Это печатает следующее:

[datetime.date(2008, 11, 22)]

Как я могу получить просто простое свидание, как 2008-11-22?

Ответы [ 21 ]

0 голосов
/ 21 марта 2015

Быстрый отказ от ответа - я изучаю Python только около 2 недель, поэтому я ни в коем случае не эксперт; поэтому мое объяснение может быть не самым лучшим, и я могу использовать неправильную терминологию. Во всяком случае, здесь это идет.

Я заметил в вашем коде, что когда вы объявили свою переменную today = datetime.date.today(), вы решили присвоить своей переменной имя встроенной функции.

Когда ваша следующая строка кода mylist.append(today) добавила ваш список, она добавила всю строку datetime.date.today(), которую вы ранее указали в качестве значения переменной today, а не просто добавив today().

Простое решение, хотя, возможно, не самое подходящее для работы программистами при работе с модулем datetime, это изменение имени вашей переменной.

Вот что я попробовал:

import datetime
mylist = []
present = datetime.date.today()
mylist.append(present)
print present

и печатает yyyy-mm-dd.

...