私のデータベースでは、列の型が datetime です。
列データ例:2009-02-03 19:04:23.0
:SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");を使用して日付形式を定義しています。
私は groovySQL を使用してテーブルを読み取り、行ごとに新しい SampleJ オブジェクトを追加しています (新しいテーブル - SampleJ にマップされています)。
ここで私の閉鎖:
def sampleQuery(int dataset) {
sqlModule.eachRow("""
select b.*
from dataset a, array_data b
where dataset_id = "${dataset}"
and a.array_data_id = b.array_data_id ;""")
{
def addSample= new SampleJ(it.toRowResult())
addSample.id = "${it.array_data_id}" as int
addSample.dateCreated = dateFormat.parse("${it.date_created}")
//addSample...(more columns)
addSample.save()
}
}
一時テーブル「SampleJ」を確認すると、すべての日付が「${it.date_created}」と一致しません。
すべての日付は「new Date()」に設定されます (クロージャの実行時間まで)。
デバッガー経由:
"${it.date_created}" は "Tue Feb 03 19:04:23 CST 2009" として定義され、(2009-02-03 19:04:23.0) に対応します。私はこの日付を持っている必要があります !
この問題を解決するにはどうすればよいですか? エラーはありません。日付が間違っているだけです。
SampleJ で日付を定義する簡単な方法はありますか?
addSample.dateCreated = dateFormat.parse("${it.date_created}") に代わるものはありますか?