0

fastinsertMySQLにデータを挿入するためにmatlab関数()を実行しています。結果は、夏時間の3月の1時間を除いて、年間を通じて正しいものです。実は当日の午前2時から午前3時まではデータを挿入できないようです。

たとえば、次のようになります。

 ts =        2006           3          26           2          30           0

matlab関数内を見ると、問題は次のことにあることがわかりました。

 java.sql.Timestamp(ts(1)-1900,ts(2)-1,ts(3),ts(4),ts(5),secs,nanosecs)

その結果、次のようになります。

 2006-03-26 03:30:00.0

どうすればこれを解決できますか?

4

1 に答える 1

0

多くの場合、日時を保存する際に同様の問題に遭遇しました。値を派生値として扱うことが最も理にかなっているようです。つまり、現地時間を格納する代わりに、値をGMTおよびTime Zoneとして格納します。次に、データをクエリするときに適切な値を導き出します。

これには、後の混乱を心配することなく、複数の場所からの値を保存できるという追加の利点があります。

于 2013-02-15T12:22:11.550 に答える