3

いくつかのデータを含む SQL Server テーブルがありdatetimeます。pymssqlデータベースに接続してクエリを実行するためにPython スクリプトを使用しています。

私が抱えている問題は、クエリが日時データを返すと、日付がずれて正確でなくなることです。たとえば、テーブル内の 1 つのデータ エントリは日付「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 に答える