1

文字列時刻をタイムスタンプオブジェクトに変換したい

解析のための私のコードはこのようなものです

String ts = "120918 10:35:45";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd hh:mm:ss");          
java.util.Date parsedDate = dateFormat.parse(ts);           
//parsing timestamp
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
System.out.println("timestamp after parsing :: "+timestamp);

それは私に結果を与えます:--timestamp after parsing :: 2012-09-18 10:35:45.0

しかし、ミリ秒の部分は必要ありません。これだけ欲しい――2012-09-18 10:35:45

ミリ秒の部分を削除するのを手伝ってください。

4

3 に答える 3

3

Timestampミリ秒のコンテナです。はtoString()、表示するのが最適であると考えられるものに基づいて、含まれているフォーマットです。

Timestamp値をフォーマットする場合は、日付フォーマッタを使用し、オブジェクトによって返された値を使用しないでください。

SimpleDateFormat noMilliSecondsFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(noMilliSecondsFormatter.format(timestamp));

注意してください。とにかく(変換した後の)値にはミリ秒が含まれていません...

于 2012-09-26T04:47:22.440 に答える
1

私の推測では、おそらく println() で "noMilliSecondsFormatter" を使用していません。

于 2012-09-26T05:10:07.060 に答える
0

java.util.Date.getTime()そのjavaDocによる方法:

この Date オブジェクトが表す 1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返します

したがって、TimeStamp オブジェクトを作成すると、すでにマイル秒が経過しています。

于 2012-09-26T05:02:38.673 に答える