3 个解决方案
#1
每次用户登录的时候,
调用自定义的函数,取系统当前时间与数据库时间比较;
如果<15天,就弹出提示信息.
调用自定义的函数,取系统当前时间与数据库时间比较;
如果<15天,就弹出提示信息.
#2
我知道思路是这样子的!问题是我不知道怎么写代码?现在正在边学边写!你能不能试着写一下?本人刚学用jsp做软件!谢谢!
#3
我自己已解决,贴出来分享一下
public int[] compareInsuranceDate(){
Calendar time=Calendar.getInstance();
time.clear(); //专门用来进行系统清零的日历类型
int[] a =new int[10];
int i=0;
DataBase db=new DataBase();
String sql="select vehicleNumber,vehicleInsuranceTime from vehicle";
ResultSet rs=db.execQuery(sql);
try {
while(rs.next()){
time.clear();//为了保证系统时间德准确性,每次使用前都应该清零
Calendar d1=Calendar.getInstance();//获得系统的时间
java.sql.Date date=rs.getDate("vehicleInsuranceTime");
Calendar d2=Calendar.getInstance();//获得数据库中的保险时间
d2.setTime(date); //将date类型转换成calendar类型
int b=this.getDaysBetween(d1, d2);
if(0<b&&b<15){
a[i]=rs.getInt("vehicleNumber");
i++;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.close();
return a;
}
/**
* 获得两个时间类型的相隔天数
* @param d1 时间比较小的那个
* @param d2 时间比较大的那个
* @return
*/
private int getDaysBetween (Calendar d1, Calendar d2) {
// if (d1.after(d2)) {
// java.util.Calendar swap = d1;
// d1 = d2;
// d2 = swap;
// }
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
public int[] compareInsuranceDate(){
Calendar time=Calendar.getInstance();
time.clear(); //专门用来进行系统清零的日历类型
int[] a =new int[10];
int i=0;
DataBase db=new DataBase();
String sql="select vehicleNumber,vehicleInsuranceTime from vehicle";
ResultSet rs=db.execQuery(sql);
try {
while(rs.next()){
time.clear();//为了保证系统时间德准确性,每次使用前都应该清零
Calendar d1=Calendar.getInstance();//获得系统的时间
java.sql.Date date=rs.getDate("vehicleInsuranceTime");
Calendar d2=Calendar.getInstance();//获得数据库中的保险时间
d2.setTime(date); //将date类型转换成calendar类型
int b=this.getDaysBetween(d1, d2);
if(0<b&&b<15){
a[i]=rs.getInt("vehicleNumber");
i++;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.close();
return a;
}
/**
* 获得两个时间类型的相隔天数
* @param d1 时间比较小的那个
* @param d2 时间比较大的那个
* @return
*/
private int getDaysBetween (Calendar d1, Calendar d2) {
// if (d1.after(d2)) {
// java.util.Calendar swap = d1;
// d1 = d2;
// d2 = swap;
// }
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
#1
每次用户登录的时候,
调用自定义的函数,取系统当前时间与数据库时间比较;
如果<15天,就弹出提示信息.
调用自定义的函数,取系统当前时间与数据库时间比较;
如果<15天,就弹出提示信息.
#2
我知道思路是这样子的!问题是我不知道怎么写代码?现在正在边学边写!你能不能试着写一下?本人刚学用jsp做软件!谢谢!
#3
我自己已解决,贴出来分享一下
public int[] compareInsuranceDate(){
Calendar time=Calendar.getInstance();
time.clear(); //专门用来进行系统清零的日历类型
int[] a =new int[10];
int i=0;
DataBase db=new DataBase();
String sql="select vehicleNumber,vehicleInsuranceTime from vehicle";
ResultSet rs=db.execQuery(sql);
try {
while(rs.next()){
time.clear();//为了保证系统时间德准确性,每次使用前都应该清零
Calendar d1=Calendar.getInstance();//获得系统的时间
java.sql.Date date=rs.getDate("vehicleInsuranceTime");
Calendar d2=Calendar.getInstance();//获得数据库中的保险时间
d2.setTime(date); //将date类型转换成calendar类型
int b=this.getDaysBetween(d1, d2);
if(0<b&&b<15){
a[i]=rs.getInt("vehicleNumber");
i++;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.close();
return a;
}
/**
* 获得两个时间类型的相隔天数
* @param d1 时间比较小的那个
* @param d2 时间比较大的那个
* @return
*/
private int getDaysBetween (Calendar d1, Calendar d2) {
// if (d1.after(d2)) {
// java.util.Calendar swap = d1;
// d1 = d2;
// d2 = swap;
// }
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
public int[] compareInsuranceDate(){
Calendar time=Calendar.getInstance();
time.clear(); //专门用来进行系统清零的日历类型
int[] a =new int[10];
int i=0;
DataBase db=new DataBase();
String sql="select vehicleNumber,vehicleInsuranceTime from vehicle";
ResultSet rs=db.execQuery(sql);
try {
while(rs.next()){
time.clear();//为了保证系统时间德准确性,每次使用前都应该清零
Calendar d1=Calendar.getInstance();//获得系统的时间
java.sql.Date date=rs.getDate("vehicleInsuranceTime");
Calendar d2=Calendar.getInstance();//获得数据库中的保险时间
d2.setTime(date); //将date类型转换成calendar类型
int b=this.getDaysBetween(d1, d2);
if(0<b&&b<15){
a[i]=rs.getInt("vehicleNumber");
i++;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.close();
return a;
}
/**
* 获得两个时间类型的相隔天数
* @param d1 时间比较小的那个
* @param d2 时间比较大的那个
* @return
*/
private int getDaysBetween (Calendar d1, Calendar d2) {
// if (d1.after(d2)) {
// java.util.Calendar swap = d1;
// d1 = d2;
// d2 = swap;
// }
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}