如何从String值创建Date对象

Hus*_*ri' 3 java date-format simpledateformat date-formatting

在运行以下代码时,我得到了一个UNPARSABLE DATE EXCEPTION.

我该如何解决?

   package dateWork;

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class DateCreation {

        /**
         * @param args
         */
        public static void main(String[] args) {

            String startDateString = "2013-03-26";
            DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); 
            Date startDate=null;
            String newDateString = null;
            try 
            {
                startDate = df.parse(startDateString);
                newDateString = df.format(startDate);
                System.out.println(startDate);
            } catch (ParseException e) 
            {
                e.printStackTrace();
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

Per*_*ror 12

您在月份中使用了错误的dateformat,也应该使用与日期相同的分隔符.

如果您的日期字符串是格式 "2013/01/03"

/对模式使用相同的分隔符"yyyy/MM/dd"

如果您的日期字符串是格式 "2013-01-03"

在你的模式中使用相同的分隔符' - ' "yyyy-MM-dd"

    DateFormat df = new SimpleDateFormat("yyyy/mm/dd"); 
Run Code Online (Sandbox Code Playgroud)

应该

    DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); 
Run Code Online (Sandbox Code Playgroud)

来自SimpleDateFormat Doc

MM --->一年中的一个月

mm --->小时分钟