2012-10-08 21 views
0

当我用蟒的Sybase包,并做了游标提取()中,列中的一个是日期时间 - 在序列返回,它具有用于该值的DateTimeType对象。 我可以发现它在sybasect模块中,但找不到此数据类型的任何文档。 我希望能够将它转换为字符串输出 - 类似于使用的strftime()与datetime对象。
这方面的任何信息?的Python DateTimeType SYBASE

+0

你可以在上面做一个目录(),看看有什么方法/属性它。 –

回答

1

你最好的选择是安装egenix-mx-base包。这将使mxDateTime模块可用于sybase包,并且默认情况下所有日期时间列将随后返回为mxDateTime.DateTime对象(引自sybase包文档)。

正如你将能够在mxDateTime文档中进行验证,它就会是微不足道的,以获得您的字符串输出。

1

的核心问题是在几个月如何在DateTimeType对象指定VS在datetime对象的差异。

我写了一个小函数来处理这个问题。这样不需要安装额外的模块,也不需要额外的日期时间转换。

到代码的任何改进,欢迎:-)

def ps_datetime_converter(date_time_type_object): 
    # Convert from python-sybase DateTimeType format (months 0 to 11) to datetime type format 
    try: 
     dt_kwargs = {} 
     dt_kwargs['year'] = date_time_type_object.year 
     dt_kwargs['month'] = date_time_type_object.month + 1 
     dt_kwargs['day'] = date_time_type_object.day 
     dt_kwargs['hour'] = date_time_type_object.hour 
     dt_kwargs['minute'] = date_time_type_object.minute 
     dt_kwargs['second'] = date_time_type_object.second 
     dt_kwargs['microsecond'] = date_time_type_object.msecond 
     date_time_object = datetime(**dt_kwargs) 
     return date_time_object 
    except: 
     print "Conversion from DateTimeType object to datetime object failed."