I have an variable called data
, and it has today's date as in this format: Thu May 24 13:14:41 BRT 2018
. Then I format it to MySQL's Date type format, which is yyyy-MM-dd
. This code does it:
String dataFormatada = new SimpleDateFormat("yyyy-MM-dd").format(data);
What I want to do is to bring it back to Date type. I've tried somethings but they didn't work. The main solution is to do as discribed in this other questioin, and with a little mod I got to what's suposely what I want:
String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date result = df.parse(target);
System.out.println(result);
But it doesn't work as I get this error when trying to parse:
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
So I cannot just reformat the data
variable, and I cannot bring dataFormatada
back to Date format. How do I bring dataFormatada
to Date type formatted as yyyy-MM-dd?
Answer
Your target String format is in EEE MMM dd HH:mm:ss zzz yyyy
format. So you need to use EEE MMM dd HH:mm:ss zzz yyyy
as pattern instead of yyyy-MM-dd
.
String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
Date result = df.parse(target);
System.out.println(result);
And if you want convert Date object i.e result to yyyy-MM-dd
then please use the below code.
DateFormat dfDateToStr = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
String formattedDate = dfDateToStr.format(result);
System.out.println("Formatted Date String : "+formattedDate);
No comments:
Post a Comment