Returning a date as string
7stud
bbxx789_05ss at yahoo.com
Sat Apr 21 18:24:09 EDT 2007
On Apr 21, 2:59 pm, Björn Keil <abgr... at silberdrache.net> wrote:
> Hello pythons,
>
> I have little problem with understanding conversions in python. I've
> written a little class - nothing much, just to try out Python a little
> - containing the following method:
>
> def __repr__(self):
> """Serializes the note.
>
> Currently the format of notes isn't decided upon. XML output
> is
> projected."""
> return "Due: " + str(self.dateDue) + \
> "\nDate: " + str(self.dateCreated) + \
> "\nSubject: " + self.subject + \
> "\n" + self.content
>
> The fields "dateDue" and "dateCreated" contain datetime.date objects.
> Now when I try to serialize the whole thing:
>
> >>> myNote
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "notes.py", line 81, in __repr__
> return "Due: " + str(self.dateDue) + \
> TypeError: cannot concatenate 'str' and 'datetime.date' objects
>
> I tryed different variant before I wrapped "self.dateDue" in a str()
> constructor:
> I tried to put it in brackets, or call its .isoformat() method.
> Nothing works. It still complains that I was trying to concatenate a
> string with a date, but I really wanna concatenate a string with a
> string!
>
> Could anyone please tell me what I am doing wrong?
>
> Greetings,
> Björn
This works for me:
import datetime
class MyDate(object):
def __init__(self, date):
self.d = date
def __repr__(self):
return str(self.d)
md = MyDate(datetime.date.today())
print "the result is: " + repr(md)
##output: the result is: 2007-04-21
More information about the Python-list
mailing list