Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
2010年4月5日,字符串必须转换为Java中的日期_Java_String_Date - Fatal编程技术网

2010年4月5日,字符串必须转换为Java中的日期

2010年4月5日,字符串必须转换为Java中的日期,java,string,date,Java,String,Date,我有这个密码 String fromDate = "April 5, 2010"; DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date dtt; try { dtt = df.parse(fromDate); java.sql.Date ds = new java.sql.Date(dtt.getTime()); System.out.println(ds);

我有这个密码

 String fromDate = "April 5, 2010";
 DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
 java.util.Date dtt;
 try {
       dtt = df.parse(fromDate);
       java.sql.Date ds = new java.sql.Date(dtt.getTime());
       System.out.println(ds);
    } catch (ParseException ex) {}
但是,这将输出到

java.text.ParseException: Unparseable date: "April 5, 2010"

您正试图解析一种格式,该格式使用空格和逗号写出文本,并使用一种格式指定只有数字和分隔符。尝试在您的
SimpleDateFormat
构造函数中使用此字符串:
“MMM dd,yyyy”
传入SimpleDateFormat的格式必须与输入日期匹配。输入日期-“2010年4月5日”,因此解析输入日期的格式必须为“MMM dd,yyyy”

试试这个:

DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
您的
fromDate
(2010年4月5日)不是
dd/MM/yyyy
格式

如果您将
formDate
更改为-

String fromDate = "April 5, 2010";
至-

然后可以使用以下代码段-

String fromDate = "5-April-10";

formatter = new SimpleDateFormat("dd-MMMM-yy");
convertedDate = (Date) formatter.parse(fromDate);

System.out.println("Converted Date: " +convertedDate);

您将无法使用不同格式的DateFormat解析日期。您应该使用SimpleDataFormat并指定表示正在解析的内容的格式字符串

DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
Date formatted = formatter.parse(fromDate);
//Whatever you need to do

希望下面的代码有帮助

String fromDate = "April 5, 2010";
         DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
         java.util.Date dtt;
         try {
               dtt = (Date)df.parse(fromDate);
               java.sql.Date ds = new java.sql.Date(dtt.getTime());
               System.out.println(ds);
               System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(ds));
            } catch (ParseException ex) {}

您说您的字符串的格式为dd/MM/yyyy,但它显然没有。您可以找到所有可能的“字母”格式。请在您的答案中添加一些解释。以SimpleDateFormat传递的格式必须与您的输入日期匹配。输入日期-“2010年4月5日”,因此解析输入日期的格式必须为“MMM dd,yyyy”。在回答中提供更多细节很有用。这有助于访问者和评论者。我把你的评论复制到了答案中——一个例子。
String fromDate = "April 5, 2010";
         DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
         java.util.Date dtt;
         try {
               dtt = (Date)df.parse(fromDate);
               java.sql.Date ds = new java.sql.Date(dtt.getTime());
               System.out.println(ds);
               System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(ds));
            } catch (ParseException ex) {}