Steve Holden wrote: > YuePing Lu wrote: >> Hello, >> >> Has any of you ever used Python odbc to retrieve data from a relational DB? >> >> I encountered a problem where it can't handle datetime _earlier than >> _*1969*, and _later than _*2040*. It just returned some garbage strings >> when I call str(my_date_object). >> >> When I call strptime to convert the value I got ValueError exception: >> >> # Table records >> for record in self._records: >> columns = [] >> for i in range(len(self._description)): >> if self._description[i][1]=='DATE': >> strDate=str(record[i]) >> try: >> #convert the date format to be mm/dd/yyyy: >> oDate=time.strptime(strDate) #convert to struct_time object >> strfDate=time.strftime("%m/%d/%Y", oDate) >> >> columns.append(strfDate) >> except ValueError, msg: >> raise "Date converstion error", msg >> >> ... >> Any other solutions that you've heard? >> >> Thanks very much in advance, >> > Reading the documentation for the time module, you will see: > > > The epoch is the point where the time starts. On January 1st of that > year, at 0 hours, the ``time since the epoch'' is zero. For Unix, the > epoch is 1970. To find out what the epoch is, look at gmtime(0). > > The functions in this module do not handle dates and times before the > epoch or far in the future. The cut-off point in the future is > determined by the C library; for Unix, it is typically in 2038.
Maybe this is of use? http://timgolden.me.uk/python/win32_how_do_i/use-a-pytime-value.html (I think the dbidate values are pytime vals; if not, at least the principle is the same) TJG -- http://mail.python.org/mailman/listinfo/python-list