Parsing a java Date back from toString() [duplicat

2020-02-26 04:38发布

问题:

I have a String containing the result of toString() called on an instance of java.util.Date. How can I parse this value back to a Date object?

The Java docs say that toString() converts this Date object to a String of the form:

 dow mon dd hh:mm:ss zzz yyyy

but of course there is no such format tag as "dow" or "mon".

Could someone please help me with this problem. Please note that unfortunately the toString() call is in a piece of code out of my control.

回答1:

If you don't have control over the code that's generating the String:

To parse the toString() format you need to set the SimpleDateFormat locale to english and use the format: "EEE MMM dd HH:mm:ss Z yyyy".

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", new Locale("us"));`


回答2:

I didn't test but something like this probably would work:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM HH:mm:ss z yyyy");
Date date = sdf.parse(dateStr);

If not, try to correct it using documentation: http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#toString() http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html



回答3:

First take a look at all the date formats provided by java Date Formats. And you can use SimpleDateFormat class to do what you want.

 public class DateFormatTest 
    { 
      public DateFormatTest() 
      { 
        String dateString = // in "dow mon dd hh:mm:ss zzz yyyy" format

        SimpleDateFormat dateFormat = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy"); 
        Date convertedDate = dateFormat.parse(dateString); 

        System.out.println("Converted string to date : " + convertedDate); 
      } 

      public static void main(String[] argv) 
      { 
        new DateFormatTest(); 
      } 
    } 
  }


回答4:

Use simpledateformat. Find the doumentation here: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html



回答5:

You can refer this example on convert string to date in java. It has got all date formats.

Also, for in-depth analysis on date formats and its functions you can refer link below

https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html



回答6:

Suppsoe you get String of "dateString" ;

SimpleDateFormat sdf = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");

Date date = sdf.parse("dateString");