-1

java.sql.Date()mysql コマンドの sysdate は正確に同じ日時を与えますか?

4

3 に答える 3

1

このSYSDATE関数は、データベース サーバーの日付と時刻を返します。は特定のjava.sql.Date日付を与えません。特定の日付に初期化する必要があり、時刻ではなく日付のみを保存します。(内部的には時間コンポーネントも保存されますが、意味がないので無視することになっています。java.sql.Date)

date = new java.sql.Date(System.getCurrentTimeMillis());

または同等のもので、データベースが別のマシンで実行されているSYSDATE場合、2 つのマシンの時計が同期していないと、呼び出したときに異なる日付が返されることがあります。

于 2013-07-26T10:39:18.480 に答える
1

sysdateDBシステムでコマンドを実行します。DBサーバーのシステム日付が表示されます。

java.sql.Date、JDBC がこれを SQL DATE 値として識別できるようにするミリ秒値の薄いラッパーです。それは異なります。これは、SQL 日付とインターフェースをとる Java オブジェクトです。JDBC ドライバーは、java.sql.Dateオブジェクトを使用し、そのデータを受け入れ可能な形式にフォーマットし、DB に格納します。逆もまた同様です。

それ自体では、何らかのデータを入力するまで日付を取得できず、年、月、日が保存されますが、時、分、秒、およびミリ秒は無視されます。

于 2013-07-26T10:39:40.273 に答える