Java Can';不能从excel文件导入数据
当我尝试从excel文件导入数据时,出现错误(不可解析日期:“18–11–2003”)。无法分析文件中的日期Java Can';不能从excel文件导入数据,java,date-format,simpledateformat,Java,Date Format,Simpledateformat,当我尝试从excel文件导入数据时,出现错误(不可解析日期:“18–11–2003”)。无法分析文件中的日期 if(row.getCell(16)!=null){ String dobb=null; Date dob=null; row.getCell(16).setCellType(row.getCell(16).CELL_TYPE_STRING);
if(row.getCell(16)!=null){
String dobb=null;
Date dob=null;
row.getCell(16).setCellType(row.getCell(16).CELL_TYPE_STRING);
dobb=row.getCell(16).getStringCellValue();
System.out.println(dobb);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
dob = (Date)simpleDateFormat.parse(dobb);//error..... Unparseable date: "18–11–2003"
System.out.println("dateeee"+dob);
} catch (ParseException e) {
e.printStackTrace();
//dob=new Date();
}
指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是u002d
的普通破折号
下面是一个使用从问题粘贴的字符串副本的示例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
String trouble = "18–11–2003";
String goodOne = "18-11-2003";
Date date = simpleDateFormat.parse(goodOne);
//Date date = simpleDateFormat.parse(trouble);
System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是u002d
的普通破折号
下面是一个使用从问题粘贴的字符串副本的示例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
String trouble = "18–11–2003";
String goodOne = "18-11-2003";
Date date = simpleDateFormat.parse(goodOne);
//Date date = simpleDateFormat.parse(trouble);
System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是u002d
的普通破折号
下面是一个使用从问题粘贴的字符串副本的示例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
String trouble = "18–11–2003";
String goodOne = "18-11-2003";
Date date = simpleDateFormat.parse(goodOne);
//Date date = simpleDateFormat.parse(trouble);
System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是u002d
的普通破折号
下面是一个使用从问题粘贴的字符串副本的示例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
String trouble = "18–11–2003";
String goodOne = "18-11-2003";
Date date = simpleDateFormat.parse(goodOne);
//Date date = simpleDateFormat.parse(trouble);
System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
实际日期(
-
)中的字符与日期格式(-
)中的字符不同
此代码:
public static void main(String[] args) {
System.out.println((int)'–');
System.out.println((int)'-');
}
产生以下结果:
8211
45
您可以做以下几件事:
replace()
(dateStr=dateStr.replace(“-”,“-”;
)以将奇怪的连字符替换为实际的ASCII连字符*推荐*“dd–MM–yyyy”
更改为“dd–MM–yyyy”
实际日期(
-
)中的字符与日期格式(-
)中的字符不同
此代码:
public static void main(String[] args) {
System.out.println((int)'–');
System.out.println((int)'-');
}
产生以下结果:
8211
45
您可以做以下几件事:
replace()
(dateStr=dateStr.replace(“-”,“-”;
)以将奇怪的连字符替换为实际的ASCII连字符*推荐*“dd–MM–yyyy”
更改为“dd–MM–yyyy”
实际日期(
-
)中的字符与日期格式(-
)中的字符不同
此代码:
public static void main(String[] args) {
System.out.println((int)'–');
System.out.println((int)'-');
}
产生以下结果:
8211
45
您可以做以下几件事:
replace()
(dateStr=dateStr.replace(“-”,“-”;
)以将奇怪的连字符替换为实际的ASCII连字符*推荐*“dd–MM–yyyy”
更改为“dd–MM–yyyy”
实际日期(
-
)中的字符与日期格式(-
)中的字符不同
此代码:
public static void main(String[] args) {
System.out.println((int)'–');
System.out.println((int)'-');
}
产生以下结果:
8211
45
您可以做以下几件事:
replace()
(dateStr=dateStr.replace(“-”,“-”;
)以将奇怪的连字符替换为实际的ASCII连字符*推荐*“dd–MM–yyyy”
更改为“dd–MM–yyyy”
你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我在java.text.DateFormat.parse(DateFormat.java:357)上得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”