2024-06-08 05:19:09 发布
网友
当我使用python Sybase包并执行cursor fetch()时,其中一列是datetime-在返回的序列中,它有一个DateTimeType对象来表示这个值。 我可以在sybasect模块中找到它,但找不到任何有关此数据类型的文档。 我希望能够将其转换为字符串输出-类似于对datetime对象使用strftime()。 有这方面的消息吗?在
最好的选择是安装egenix-mx-base包。这将使mxDateTime模块可用于sybase包,默认情况下,所有datetime列都将作为mxDateTime.DateTime对象返回(引自sybase包文档)。在
sybase
mxDateTime.DateTime
由于您将能够在mxDateTime文档中进行验证,因此获得字符串输出将非常简单。在
核心问题是DateTimeType对象和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."
最好的选择是安装egenix-mx-base包。这将使mxDateTime模块可用于
sybase
包,默认情况下,所有datetime列都将作为mxDateTime.DateTime
对象返回(引自sybase
包文档)。在由于您将能够在mxDateTime文档中进行验证,因此获得字符串输出将非常简单。在
核心问题是DateTimeType对象和datetime对象中指定月份的方式不同。在
我写了一个小函数来处理这个问题。这样就不需要安装额外的模块,也不需要额外的日期时间转换。在
欢迎对代码进行任何改进:-)
相关问题 更多 >
编程相关推荐