String を TimeStamp に変換しようとしているときに問題が発生しました。の形式の日付を持つ配列があり、の形式でyyyy-MM-dd
変更したいyyyy-MM-dd HH:mm:ss.SSS
。だから、私はこのコードを使用します:
final String OLD_FORMAT = "yyyy-MM-dd";
final String NEW_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
String oldDateString = createdArray[k];
String newDateString;
DateFormat formatter = new SimpleDateFormat(OLD_FORMAT);
Date d = formatter.parse(oldDateString);
((SimpleDateFormat) formatter).applyPattern(NEW_FORMAT);
newDateString = formatter.format(d);
System.out.println(newDateString);
Timestamp ts = Timestamp.valueOf(newDateString);
System.out.println(ts);
次の結果が得られます。
2009-10-20 00:00:00.000
2009-10-20 00:00:00.0
しかし、私が単純にやろうとすると
String text = "2011-10-02 18:48:05.123";
ts = Timestamp.valueOf(text);
System.out.println(ts);
私は正しい結果を得る:
2011-10-02 18:48:05.123
私が間違っているかもしれないことを知っていますか?助けてくれてありがとう。