java签到

1.主要判断是否首次签到;如果不是首次签到,则判断从数据库中获得的签到日期是否属于今天范围,如果是,则进入已签到页面;如果不是,则进入签到页面

		//接收请求当中的参数
		String userName = request.getParameter("userName");
		request.setAttribute("userName", userName);
		
		//根据userName查询用户信息
		User user = userService.get(userName);
		
		//获取用户id
		int id = user.getUserId();
		
		//根据用户id查询签到信息
		Sign sign = userService.signQuery(id);
		
		//判断是否首次签到
		if(sign == null) {
			
			userService.signFirst(id);
			
			sign = userService.signQuery(id);

			//存放到request作用域
			request.setAttribute("sign", sign);
			request.setAttribute("msg", "已签到");
        	
        	//响应用户,去已签到页面
			request.getRequestDispatcher("/admin/pages/user/sign2.jsp").forward(request, response);
			
		}else {
			
			//判断日期是否属于在今天范围内
			try {
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				String nowTime = sign.getSignCreateTime();  //获取数据库签到日期
				Date now = sdf.parse(nowTime);
				String startTime = DateSet.startTime();  //今天开始时间
				Date start = sdf.parse(startTime);
				String endTime = DateSet.endTime();    //今天结束时间
				Date close = sdf.parse(endTime);
				
				Calendar date = Calendar.getInstance();
		        date.setTime(now);

		        Calendar begin = Calendar.getInstance();
		        begin.setTime(start);

		        Calendar end = Calendar.getInstance();
		        end.setTime(close);
		        
		        if (date.after(begin) && date.before(end)) {
		        	
		        	//日期属于今天范围
		        	//存放到request作用域
					request.setAttribute("sign", sign);
					request.setAttribute("msg", "已签到");
		        	
		        	//响应用户,去已签到页面
					request.getRequestDispatcher("/admin/pages/user/sign2.jsp").forward(request, response);
		        } else {
		        	
		        	//日期不属于今天范围
		        	//存放到request作用域
					request.setAttribute("sign", sign);
					
					//响应用户,去签到页面
					request.getRequestDispatcher("/admin/pages/user/sign.jsp").forward(request, response);
		        }

			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

2.与签到有关的时间

//签到更新时间
public static String dateSet() {
	
	Calendar calendar = Calendar.getInstance();
	calendar.add(Calendar.DAY_OF_YEAR, 1);
	// 时
	calendar.set(Calendar.HOUR_OF_DAY, 0);
	// 分
	calendar.set(Calendar.MINUTE, 0);
	// 秒
	calendar.set(Calendar.SECOND, 0);

	Date time = calendar.getTime();
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String format = df.format(time);
	return format;
}

//今天开始时间
public static String startTime() {
	
	Calendar calendar = Calendar.getInstance();
	
	// 时
	calendar.set(Calendar.HOUR_OF_DAY, 0);
	// 分
	calendar.set(Calendar.MINUTE, 0);
	// 秒
	calendar.set(Calendar.SECOND, 0);

	Date time = calendar.getTime();
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String format = df.format(time);
	return format;
}

//今天结束时间
public static String endTime() {
	
	Calendar calendar = Calendar.getInstance();
	
	// 时
	calendar.set(Calendar.HOUR_OF_DAY, 23);
	// 分
	calendar.set(Calendar.MINUTE, 59);
	// 秒
	calendar.set(Calendar.SECOND, 59);

	Date time = calendar.getTime();
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String format = df.format(time);
	return format;
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值