3

我有一个包含一些datetime数据的 SQL Server 表。我正在使用 Python 脚本pymssql连接到数据库并执行查询。

我遇到的问题是,当我的查询返回日期时间数据时,日期会发生变化并且不再准确。例如,我的表中的一个数据条目是日期“2012-03-27”,但是当我检索它并将其作为datetimePython 中的对象存储在脚本中时,日期存储为“2012-01-03” .

有想法该怎么解决这个吗?我应该使用像这样的库pytz吗?

谢谢!

4

2 回答 2

1

我对 pymssql 1.02 版有同样的问题。虽然它不是最干净的方法,但我正在使用 OP 建议的解决方法,并使用 dateutil.parser 模块将字符串值转换为具有正确值的 python datetime 对象。这是我正在使用的代码,前提是 iso_datetime_string 包含具有 ISO 格式的日期时间的字符串,如解决方法返回的那样:

import dateutil.parser as ps

correct_datetime_obj = ps.parse(iso_datetime_string)
于 2013-10-01T14:30:00.520 回答
0

我仍然不确定是什么导致了这个问题,但我找到了一个解决方案:在执行查询时将datetime数据转换为类型:varchar

select convert(varchar(20),event_time,120) from event_detail;

以前我正在执行此查询:

select event_time from event_detail;

event_time类型在哪里datetime

于 2012-04-12T13:29:57.573 回答