-2

I have a date retrieved from a sql database (example : 2013-08-22 00:00:00.000). I need to convert this to another format (example: Aug-2013).

2013-08-22 00:00:00.000 -> Aug-2013

How do I do this using java?

Afshin
  • 1,405
  • 10
  • 18
Harsha Jayamanna
  • 2,148
  • 6
  • 25
  • 43

3 Answers3

1

Try this (If you wish to format the date the way you want):

Suppose the String variable containing the date is "date"...

String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int index = date.subString(5,6);
String year = date.subString(0,3);
date = months[index-1] + "-" + year;
Sid
  • 381
  • 2
  • 12
0

If your date is retrieved from the database, then you should retrieve it using .getDate method of the ResultSet. That way you're getting a proper Date object, which you can format any way you like.

If it comes from elsewhere as a string, then you can create a SimpleDateFormat object with the specific format you need and use parse method to get the Date object. Then, again, you can format it any way you like.

Aleks G
  • 56,435
  • 29
  • 168
  • 265
-1

Get the number of seconds since a date in the past such as January 1st 1970.

SELECT DATEDIFF(s,'1970-01-01','2013-08-22') AS seconds

Then you can take this value and add it to the same date in Java, or any other language for that matter.

This will be a reliable way to get around regional differences in date formats.

jtb
  • 139
  • 7