Python日期时间类型sybas

2024-06-08 05:19:09 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用python Sybase包并执行cursor fetch()时,其中一列是datetime-在返回的序列中,它有一个DateTimeType对象来表示这个值。 我可以在sybasect模块中找到它,但找不到任何有关此数据类型的文档。 我希望能够将其转换为字符串输出-类似于对datetime对象使用strftime()。
有这方面的消息吗?在


Tags: 模块对象字符串文档消息datetime序列fetch
2条回答

最好的选择是安装egenix-mx-base包。这将使mxDateTime模块可用于sybase包,默认情况下,所有datetime列都将作为mxDateTime.DateTime对象返回(引自sybase包文档)。在

由于您将能够在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."

相关问题 更多 >

    热门问题