下面的代码是查询某两个日期间的记录
	public int countTodayLogin(){
//		return (Integer)createQuery("select count(*) from User where lastLoginTime between ? and ?")
//				.setDate(0, this.getStartOfToday())
//				.setDate(1, this.getEndOfToday())
//				.setCacheable(true)
//				.uniqueResult();
		return (Integer)createCriteria()
				.add(Restrictions.between("lastLoginTime",getStartOfToday(),getEndOfToday()))
				.setProjection(Projections.count("id"))
				.uniqueResult();
	}

不知道为什么 第一种方法就是查不出结果来 (注掉的代码)
另外下面两个方法是获取一天的开始和结束时间
感觉写的挺麻烦的 不知道有没有更简单的方法
	private Date getStartOfToday(){
		Calendar today = Calendar.getInstance();
		int year = today.get(Calendar.YEAR);
		int month = today.get(Calendar.MONTH);
		int day = today.get(Calendar.DAY_OF_MONTH);
		return new GregorianCalendar(year, month, day, 0, 0, 0).getTime();
	}
	
	private Date getEndOfToday(){
		Calendar today = Calendar.getInstance();
		int year = today.get(Calendar.YEAR);
		int month = today.get(Calendar.MONTH);
		int day = today.get(Calendar.DAY_OF_MONTH);
		return new GregorianCalendar(year, month, day, 23, 59, 59).getTime();
	}


还有一点就是SimpleDateFormat格式化时要注意的问题: HH大些输出24小时格式 hh小写是12小时
下班了 撤退!
在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss
评论
发表评论

您还没有登录,请登录后发表评论

xly_971223
搜索本博客
博客分类
我的相册
C5b0e206-307c-3f61-aa60-9cfd71c61bb3-thumb
u=3528569133,1587051000&gp=38.jpg
共 2 张
最近加入圈子
存档
最新评论