实在觉得奇怪的问题,不知道什么原因了,急问啊
我用JAVA 在做一个日期区间查询时出现问题,说是转换为datetime 时出现问题,然后异常抛个不停
下面是语句:
String d1=year1+ '- '+month1+ '- '+day1;//得到组合框的内容
String d2=year2+ '- '+month2+ '- '+day2;
SimpleDateFormat df = new SimpleDateFormat( "yyyy-mm-dd ");
java.util.Date date1=df.parse(d1);
java.util.Date date2=df.parse(d2);
查询语句如下:
select * from P where DATE between 'date1 ' and 'date2 '
------解决方案--------------------把d1和d2打印出来看看,可能是java.sql.date和java.util.date不同的问题
------解决方案--------------------一直没用过java.sql.Date
------解决方案--------------------用这个吧
DateFormat df = DateFormat.getDateInstance();
java.util.Date date1=new Date();
try
{
date1=df.parse( "2007-08-22 13:20:50 ");
}catch(Exception e)
{
System.out.println(e);
}
System.out.println(date1.toLocaleString());
------解决方案--------------------用java.sql.Date
------解决方案-------------------- public static Date getDate(String str) {
Date date = null;
// 2006-12-19 09:00:28
final SimpleDateFormat df2 = new SimpleDateFormat(
"yyyy-MM-dd ' 'HH:mm:ss ");
// Fri,05 Jan 2007 06:00:34 GMT
final SimpleDateFormat df1 = new SimpleDateFormat(
"EEE,dd MMM yyyy HH:mm:ss z ", Locale.US);
// 2006-12-27
final SimpleDateFormat df3 = new SimpleDateFormat( "yyyy-MM-dd ");
if (date == null) {
try {
date = new Date(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df1.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df2.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df3.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
//
System.err.println( "bad date: " + str);
date = new Date();
date.setHours(0);
}
return date;
}