У меня проблема, когда я пытаюсь преобразовать 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
Знаете ли вы, что я могу делать неправильно? Спасибо за помощь.