-2

文字列をJavaタイムスタンプに変換しようとしています。私は次のコードを使用しています

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy  HH:mm:ss:SSS");
Date parsedDate = dateFormat.parse(value);
Timestamp timestamp = new Timestamp(parsedDate.getTime());            
return timestamp;            

私の入力は入力です::"10/01/201206:45:23:245946"

しかし、私は間違った出力を取得しています:: 2012-10-01 06:49:28.946

このコードの何が間違っていますか?

4

3 に答える 3

1
10/01/2012 06:45:23:245946

ここでは、245946ミリ秒を経過しました。これは、実際には秒と分に変換され、になり2012-10-01 06:49:28.946ます。

245946 milliseconds = 245 seconds and 946 milliseconds 
245 seconds 946 milliseconds = 4 minutes, 5 seconds and 946 milliseconds

so 06:45:23+ 4 minutes 5 seconds and 946 milliseconds = 
06 hour 49 minutes 28 seconds 946 miliseconds
于 2012-11-28T08:34:14.890 に答える
0

正解です。これらの余分なミリ秒はすべて、印刷して戻すときに完全な分と秒として表されます。入力には、245946ミリ秒が含まれます。これは、4分、5秒、および946ミリ秒です。したがって、出力は4分5秒後、946ミリ秒で表示されます。

于 2012-11-28T08:30:55.607 に答える
0

ステップ1:指定された日付を解析する

ステップ2:次のコンストラクターを使用して絶対タイムスタンプを取得します

java.sql.Timestamp timestamp = new Timestamp((year-1900), (month-1), date, hour, min, sec,nano);
于 2012-12-05T10:57:08.600 に答える