还是关于String 转化成java.sql.Date 的问题,急求解
我也碰上相同的问题。由于数据库的关系,我必须把String ‘31/10/2002’‘09:03:00'转成java.sql.Date 'dd/MM/yyyy' 'HH:MM:ss'的格式,我试过很多方法都不行,请大家帮我看看。我已经卡在这好几天了
程序一,可以运行,但输出的结果格式还是不对
public class DateParser1{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
public java.util.Date stringToDate(String str){
try{
return sdf.parse(str);
}catch(Exception e){
e.printStackTrace();
return null;
}
}
public static void main(String[] args){
DateParser1 dp = new DateParser1();
String sss = "97/04/17";
System.out.println("the date is:"+dp.stringToDate(sss));
}
程序2,DateParser1.java:12: incompatible types
found : java.util.Date
required: java.sql.Date
java.sql.Date date = new Date(ca.getTimeInMillis());
public static void main(String[] args){
SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd");
try{
Calendar ca = Calendar.getInstance();
ca.setTime(format.parse("94/07/17"));
java.sql.Date date = new Date(ca.getTimeInMillis());
System.out.println(date.toString());
}catch(Exception e){}
}
程序3 运行时报错Exception in thread "main" java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:100)
at ex1.main(ex1.java:27)
public class ex3{
public static void main(String[] args) {
String date = "31/10/2002";
java.sql.Date dd=java.sql.Date.valueOf(date);
}
}
程序4 输出
str is 31/10/2002
null
没有输出 no value 说明没有执行if内的语句,但是结果还是null,
java.sql.Date.valueOf(str);没有起作用
public class ex3{
public static void main(String[] args) {
String datetime = "31/10/2002";
java.sql.Date dd = StrtoDate(datetime);
System.out.println(dd);
}
public static java.sql.Date StrtoDate(String str)
{
try{
System.out.println("str is "+str);
if (str.equals("")){
System.out.println("no value");
return null;
}
return java.sql.Date.valueOf(str);
}
catch (Exception e){
return null;
}
}