On Wed, Feb 10, 2010 at 5:17 PM, m_ahlenius <ahleni...@gmail.com> wrote: > Hi, > > I have a weird question about tuples. I am getting some dates from a > mysql db, using the mysqldb interface. I am doing a standard query > with several of the fields are "datetime" format in mysql. > When I retrieve and print them in python, they look fine. > > eg. > storeddate = 2010-02-07 12:03:41 > > But when I append these dates into a string to write to an ascii log > file, they come out as: > > datetime.datetime(2010, 2, 7, 12, 03, 41) (or something along those > lines). > > It appears that I am dealing with some sort of date object here. So > I am just trying to understand what's going on, and whats the best > work with such objects.
http://docs.python.org/library/datetime.html#datetime.datetime >>> from datetime import datetime >>> now = datetime.now() >>> print str(now) 2010-02-10 17:22:12.459277 >>> print repr(now) datetime.datetime(2010, 2, 10, 17, 22, 12, 459277) >>> print (now,) (datetime.datetime(2010, 2, 10, 17, 22, 12, 459277),) tuples use repr() on their elements when they're converted to strings, and repr() on datetime-s uses the constructor notation as opposed to the more normal notation used by str(). Same sort of thing happens with strings; note the presence/lack of quotes: >>> string = "aa" >>> print str(string) aa >>> print repr(string) 'aa' >>> print (string,) ('aa',) Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list