为什么我得到一个解析异常

Why do I get a parse exception

这个程序应该减去 2 天的皮重 3 和皮重 4。 tare3 值从当天(来自系统)来自文本文件(元素[3])的 tare4 值,当我将字符串(元素[3])解析为日期(tare4)时它给我 parseexception 保存在文件中的日期看起来像(Thu Jan 24 00:00:00 EET 2018)

package javaapplication3;        
import java.io.*;            `     `
import java.util.*;                  
import java.text.*;


    public static void main(String[] args) throws ParseException, FileNotFoundException {


 private  static String tare5 = new String();
  static String tare2 = new String ();

          DateFormat dateFormat = new SimpleDateFormat(" dd MMM yyyy  ",Locale.ENGLISH );
        Calendar cal = Calendar.getInstance();
        Date tare4 =  new Date (); 
        tare5 = dateFormat.format(cal.getTime());
      Date  tare3 = dateFormat.parse(tare5);

          Scanner scanner;
         File Myfile =  new File("C:\Users\mido\Documents\NetBeansProjects\JavaApplication3\src\javaapplication3\products.txt");
       scanner = new Scanner (Myfile);


      while (scanner.hasNext()){

         String line = scanner.nextLine();
      StringTokenizer x = new StringTokenizer(line,"~");
         String [] element= new String [7]; 
         int counter = 0 ;

         while (x.hasMoreElements())
         {
          element[counter]=(String)x.nextElement();
         counter ++;

         }
          tare4 = dateFormat.parse(element[3]);

       if (tare4.getTime()>= tare3.getTime() )
       {
        System.out.println(element[1]+"is expired");
       }
       else {
         long def = tare3.getTime()- tare4.getTime();
         System.out.println(element[1]+"has"+def+"to expire");}
        }

        }

堆栈跟踪如下:

Exception in thread "main" java.text.ParseException: Unparseable date: "20/10/2015 " at java.text.DateFormat.parse(DateFormat.java:357) at javaapplication3.JavaApplication3.main(JavaApplication3.java:51)  

您输入的 20/10/2015 不符合 dateFormat 的情况。您可能想要更改

SimpleDateFormat(" dd MMM yyyy ",Locale.ENGLISH )

SimpleDateFormat("dd/MM/yyyy",Locale.ENGLISH )