我有一个包含一些datetime
数据的 SQL Server 表。我正在使用 Python 脚本pymssql
连接到数据库并执行查询。
我遇到的问题是,当我的查询返回日期时间数据时,日期会发生变化并且不再准确。例如,我的表中的一个数据条目是日期“2012-03-27”,但是当我检索它并将其作为datetime
Python 中的对象存储在脚本中时,日期存储为“2012-01-03” .
有想法该怎么解决这个吗?我应该使用像这样的库pytz
吗?
谢谢!
我有一个包含一些datetime
数据的 SQL Server 表。我正在使用 Python 脚本pymssql
连接到数据库并执行查询。
我遇到的问题是,当我的查询返回日期时间数据时,日期会发生变化并且不再准确。例如,我的表中的一个数据条目是日期“2012-03-27”,但是当我检索它并将其作为datetime
Python 中的对象存储在脚本中时,日期存储为“2012-01-03” .
有想法该怎么解决这个吗?我应该使用像这样的库pytz
吗?
谢谢!
我对 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)
我仍然不确定是什么导致了这个问题,但我找到了一个解决方案:在执行查询时将datetime
数据转换为类型:varchar
select convert(varchar(20),event_time,120) from event_detail;
以前我正在执行此查询:
select event_time from event_detail;
event_time
类型在哪里datetime