0

I am getting a Date format in String as Output like this.

Fri May 18 00:00:00 EDT 2012

I need to Convert this to a Date Object. What approach shall I use?

Thank you.

This is the program i used.

import java.util.*;
import java.text.*;

public class DateToString {
    public static void main(String[] args) {
        try {
            DateFormat formatter ;
            Date date ;
            formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'EDT' yyyy ");
            date = (Date)formatter.parse("Fri May 18 00:00:00 EDT 2012");
            String s = formatter.format(date);
            System.out.println("Today is " + s);
        } catch (ParseException e) {
            System.out.println("Exception :"+e); 
        }
    }
}

3 Answers 3

3

Have a look at: java.text.SimpleDateFormat Java API

SimpleDateFormat dateParser = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", 
    Locale.US);
Date date = dateParser.parse("Fri May 18 00:00:00 EDT 2012");

Update: note to self, locale can be important.

Sign up to request clarification or add additional context in comments.

4 Comments

<code> import java.util.*; import java.text.*; public class DateToString { public static void main(String[] args) { try { DateFormat formatter ; Date date ; formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'EDT' yyyy "); date = (Date)formatter.parse("Fri May 18 00:00:00 EDT 2012"); String s = formatter.format(date); System.out.println("Today is " + s); } catch (ParseException e) {System.out.println("Exception :"+e); } } } </code>
Have to specify locale, I updated the answer with this earlier.
Specify GMT timezone I think?
I can't vouch for your code as it is not doing the same thing as I have listed here, you have another format string in the code you pasted here @Azar ... You seem to have mixed it up with someones elses code and now accepted an answer that was made an hour later with my exact code :)
1

Use SimpleDateFormat and implementations to get a date displayable in a format you want.

Example:

String myDateString = "Fri May 18 00:00:00 EDT 2012";
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.applyPattern( "EEE MMM dd HH:mm:ss z yyyy" );

try {
    Date d = dateFormat.parse( myDateString );
    System.out.println( d ); // Fri May 18 00:00:00 EDT 2012

    String datePattern1 = "yyyy-MM-dd";
    dateFormat.applyPattern( datePattern1 );
    System.out.println( dateFormat.format( d ) ); // 2012-05-18

    String datePattern2 = "yyyy.MM.dd G 'at' HH:mm:ss z";
    dateFormat.applyPattern( datePattern2 );
    System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 EDT

    String datePattern3 = "yyyy.MM.dd G 'at' HH:mm:ss Z";
    dateFormat.applyPattern( datePattern3 );
    System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 -400
}
catch ( Exception e ) { // ParseException
    e.printStackTrace();
}

2 Comments

Well here you formattin the Date. I have the "d" as string not as date object
@user1422029 System.out.println( "Thanks This is Working Perfect".equals( "answerAccepted" ) ); // false
0

Use SimpleDateFormat with the following pattern:

EEE MMM dd HH:mm:ss 'EDT' YYYY

This doesn't worry about Timezone, Alternatively, with timezone inclusion: (untested) EEE MMM dd HH:mm:ss z YYYY (it's a lowercase z). Bear in mind, I haven't tested it yet (as I'm on my way home from work).

7 Comments

That would parse EDT literally, and not as the timezone specifier, wouldn't it?
[code] import java.util.*; import java.text.*; public class DateToString { public static void main(String[] args) { try { DateFormat formatter ; Date date ; formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'EDT' yyyy "); date = (Date)formatter.parse("Fri May 18 00:00:00 EDT 2012"); String s = formatter.format(date); System.out.println("Today is " + s); } catch (ParseException e) {System.out.println("Exception :"+e); } } }
@aix, yes, that's because I was trying to figure out between z and Z.
@user1422029, the comment section is not the place to paste code. Update your post, if you will.
@user1422029 Please update your question with your code and tell us what exactly isn't working. Show exception stacktrace if applicable.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.