我希望你能帮助我。 我的意见是22-01-1993
我的代码是
public String CreateCalendar (String titel, String startDate, String endDate, String note, String location, String email) throws SQLException, ParseException
{
String stringToBeReturned ="";
testConnection();
SimpleDateFormat format = new SimpleDateFormat ("EEE MMM dd HH:mm:s zzz YYYY");
java.util.Date utilStartDate = format.parse(startDate);
java.util.Date utilEndDate = format.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());
java.sql.Date sqlEndDate = new java.sql.Date(utilEndDate.getTime());
String [] keys = {"title","start","end", "note", "location", "active", "email"};
String [] values = {titel, format.parse(startDate).toString(), format.parse(endDate).toString(), note, location, "1", email};
qb.insertInto("calendar", keys).values(values).Execute();
return stringToBeReturned;
}
然而我得到错误java.text.ParseException:Unparseable date:“22-01-1993” 我做错了什么
答案 0 :(得分:0)
format.parse(startDate).toString()
和format.parse(endDate)
将为您解决问题。
添加到第二个问题。
22-01-1993
这就是您提供数据的方式。
Fri Jan 22 00:00:00 CET 1993
这就是它所期望的。
所以让我们改变("dd-MM-yyyy")
来实际匹配它。
("EEE MMM dd HH:mm:s zzz YYYY");
这应该可以解决问题。
在PHP中,它与Java不一样,我更新了data (...)
以匹配它。信息取自
http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:s zzz YYYY");
String startDate = new Date().toString();
输出
Fri Dec 05 23:15:39 CET 2014
这样有效。
我现在看到它的方式你不需要以下几行
java.util.Date utilStartDate = format.parse(startDate);
java.util.Date utilEndDate = format.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());
java.sql.Date sqlEndDate = new java.sql.Date(utilEndDate.getTime());
当您拥有以下输入22-01-1993
时出现的问题是它与您预期的输入不匹配。您可以从中提取月,日和年,然后使用其余数据构建新字符串。然而,这感觉多余。
答案 1 :(得分:0)
让它工作,就像这样
public String CreateCalendar (String titel, String startDate, String endDate, String note, String location, String email) throws SQLException, ParseException
{
String stringToBeReturned ="";
testConnection();
SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd");
format.parse(startDate);
format.parse(endDate);
String [] keys = {"title", "start", "end", "note", "location", "active", "email"};
String [] values = {titel, startDate, endDate, note, location, "1", email};
qb.insertInto("calendar", keys).values(values).Execute();
return stringToBeReturned;
}