I have an issue while I try to convert a String to a TimeStamp. I have an array that has the date in the format of yyyy-MM-dd
and I want to change in the format of yyyy-MM-dd HH:mm:ss.SSS
. So, I use this code:
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);
and I get the following result.
2009-10-20 00:00:00.000
2009-10-20 00:00:00.0
but when I try to simply do
String text = "2011-10-02 18:48:05.123";
ts = Timestamp.valueOf(text);
System.out.println(ts);
I get the right result:
2011-10-02 18:48:05.123
Do u know what I might be doing wrong? Thanks for the help.
can you try it once...
first convert your date string to
date
then convert it totimestamp
by using following set of lineFollow these steps for a correct result:
Please note that
.parse(String)
might throw aParseException
.