Trying to convert string date into a date

前端 未结 3 1950
有刺的猬
有刺的猬 2021-01-28 17:42

java.text.ParseException: Unparseable date: \"Sat May 01 00:00:00 EDT 2010\"

I am trying to parse this date using the SimpleDateFormat class.

java.util.         


        
相关标签:
3条回答
  • 2021-01-28 18:21

    That would be because you're using the format of yyyy-MM-dd - you have to add each parameter in your input to that format.

    It looks like your format is E MMM dd HH:mm:ss z yyyy

    So you need to convert from one to the other:

    static DateFormat extended = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
    static DateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
    
    String reformat(String extendedString) {
        Date yourDate = extended.parse(extendedString);
        String simpleString = simple.format(yourDate);
        return simpleString;
    }
    

    Or alternatively,

    String reformat(String dateString) {
        return simple.format(extended.parse(dateString));
    }
    
    0 讨论(0)
  • 2021-01-28 18:37
    DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
    Date date = (Date)formatter.parse("Sat May 01 00:00:00 EDT 2010");
    String string = new String(date.getYear() + "-" + date.getMonth() + "-" + date.getDay());
    

    Should work better then just yyyy-MM-dd.

    0 讨论(0)
  • 2021-01-28 18:38

    SimpleDateFormat is Locale dependent, so by providing one you can get the Date string localized for specific language or country

    http://www.javablogging.com/java-simpledateformat-examples/

    0 讨论(0)
提交回复
热议问题