一个考勤系统输入申请日期,一个开始时间一个结束时间,我想要让输入的开始时间不能小于当前时间两个月,如 10
一个考勤系统输入申请日期,一个开始时间一个结束时间,我想要让输入的开始时间不能小于当前时间两个月,如果小于页面会显示错误信息!这个功能的代码要怎么写啊!要写在Action...
一个考勤系统输入申请日期,一个开始时间一个结束时间,我想要让输入的开始时间不能小于当前时间两个月,如果小于页面会显示错误信息!这个功能的代码要怎么写啊 !要写在Action中的,那为高人能帮帮小弟,谢谢了!代码越简单越好最好带注释啊 小弟初学者!!谢谢了!!
展开
3个回答
展开全部
String startTimeMonth = new SimpleDateFormat("MM").format(startTime);
//startTime为客户输入的时间,“MM”是指获得输入时间的月份格式
String endTimeMonth = new SimpleDateFormat("MM").format(System.currentTimeMillis());
//System.currentTimeMillis() 指获得当前时间
if((endTimeMonth - startTimeMonth )<2){//判断如果结束时间和开始时间差小于2,则进行提示
//TODO处理你的逻辑代码
}
另外想问一下你的客户输入的时间格式是什么样的?
//startTime为客户输入的时间,“MM”是指获得输入时间的月份格式
String endTimeMonth = new SimpleDateFormat("MM").format(System.currentTimeMillis());
//System.currentTimeMillis() 指获得当前时间
if((endTimeMonth - startTimeMonth )<2){//判断如果结束时间和开始时间差小于2,则进行提示
//TODO处理你的逻辑代码
}
另外想问一下你的客户输入的时间格式是什么样的?
展开全部
这个在数据库端实现比较好,逻辑是这样的,查询的时候就查询系统时间前移两个月的时间,然后做个比较不就行了。
追问
你的思路很好 小弟初学者不会写,求大哥详细代码!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太明白您的意思,您说的两个月是必须得满足月份相差2吗?比如所6月30日跟8月1日相差31天,不到60天,但是月份相见也是2,这算是提前两个月吗?
追问
嗯必须满足月份相差俩个月,就是我现在要输入的时间不能小于当前月份减2!谢谢!
追答
/**
*
* 为了便于测试,此处用普通java程序写出程序的核心部分。
* 如果要在struts中使用,可以按照注释稍加修改就行了。
*
*/
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
String beginDate="2012-01-05";
String endDate="2011-03-01";
String formatStr="yyyy-MM-dd";
Calendar beginCalendar=Calendar.getInstance();
beginCalendar.setTime(StringToDate(beginDate, formatStr));
Calendar endCalendar=Calendar.getInstance();
endCalendar.setTime(StringToDate(endDate, formatStr));
System.out.println(beginCalendar.get(Calendar.MONTH));
System.out.println(endCalendar.get(Calendar.MONTH));
int a=(endCalendar.get(Calendar.YEAR)-beginCalendar.get(Calendar.YEAR))*12+(endCalendar.get(Calendar.MONTH)-beginCalendar.get(Calendar.MONTH));
if (a<=2) {
System.out.println("结束日期与起始日期相差不足两个月!");
/**
* 如果是在action中,可以这样写
* ……………………
* request.setAttribute("errorInfo","结束日期与起始日期相差不足两个月!");
* request().getRequestDispatcher("错误页面.jsp").forward(request, response);
* ……………………
* 然后再错误页面.jsp中获取“errorInfo",展示出来就行了。
*/
}
}
public static Date StringToDate(String dateStr,String formatStr){
DateFormat sdf=new SimpleDateFormat(formatStr);
Date date=null;
try {
date = sdf.parse(dateStr);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询