`

查询最近n个月每月最后一天的日期

    博客分类:
  • JAVA
阅读更多
  最近工作中遇到要查询数据中最近5个月中每月最后一天的数据,先写了个工具类,调用工具类把最近5各月最后一天的数据添加到List里,sql中用foreach标签遍历该List,遍历的sql如下:
  <foreach item="value" collection="netDateList" open="(" separator="," close=")">
     #{value}
   </foreach>
其中netDateList是后台穿过来的List
。工具类代码如下:
public class GetLastDateOfMonthUtil {
	/**
	 * 
	 * @param n 代表查询的最近n月
	 * @return
	 */
	public static Date getLastDayOfMonth(int n) {
		Calendar cal = Calendar.getInstance();  
		Calendar l = (Calendar) cal.clone();  
		l.clear();  
		l.set(Calendar.YEAR, cal.get(Calendar.YEAR));  
		l.set(Calendar.MONTH, cal.get(Calendar.MONTH)-n);  
		l.set(Calendar.MILLISECOND, -1);  
		return l.getTime();
	}
	public static void main(String[] args) {
		//测试查询最近5个月
		for(int i=0;i<5;i++){
			Date date = GetLastDateOfMonthUtil.getLastDayOfMonth(i);
			String lastday = new SimpleDateFormat("yyyy-MM-dd").format(date);  
			System.out.println(lastday);
		}
	}
}

运行结果如下:
2014-04-30
2014-03-31
2014-02-28
2014-01-31
2013-12-31
分享到:
评论

相关推荐

    mysql的日期和时间函数

     -&gt; 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 ...

    视易神通夜总会5.0安装包

    1.增加员工赠送限额,根据后台参数可配置为按日、周、月结算(按日结算时,每天做日结处理时更新已赠送金额为0,按周结算时,每周一做日结处理时更新已赠送金额为0,按月结算,每月1号做日结处理时更新已赠送金额为0...

    Java面试宝典2010版

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    EXCEL函数公式集

    一个大表每一行下面需要加一行空行,怎么加最方便 Excel中插入空白行 快速删除工作表中的空行快速删除空行一次删完Excel里面多出很多的空白行 每30行为一页并加上一个标题如何实现如何实现隔行都加上标题项 如何把...

    Excel公式大全操作应用实例(史上最全)

    一个大表每一行下面需要加一行空行,怎么加最方便 Excel中插入空白行 快速删除工作表中的空行快速删除空行一次删完Excel里面多出很多的空白行 每30行为一页并加上一个标题如何实现如何实现隔行都加上标题项 如何把...

    Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf

    093 提取每月销量倒数第二的商品 182 ◎中值函数 183 094 计算3月份产品销量中值 183 095 设定社保缴费基数上下限 185 096 查找销售量处于中间位置的部门 186 ◎排名函数 188 097 对员工上半年销售业绩...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。 -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的...

    我整理的VBA 自定义函数大全 共138页

    101.将工作表中最后一列作为页脚打印在每一面页尾 102.获取vbproject引用项目 103.移除Excel工作表中的外部数据连接 104.将选择定单元格作成镜像图片 105.反选择单元格中的数 106.在Excel中加入一个量度尺(以厘米为...

    2009达内SQL学习笔记

    如果想在多个列上进行排序,必须对每个列指定DESC关键字。 升序是默认的,可不写,但降序必须写。 六、WHERE子句,选择、过滤 其后只能跟逻辑语句,返回值只有ture或false 如: select last_name,salary from s...

    最新Java面试宝典pdf版

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

    基于Visual Foxpro实践考试的源代码

    1.建立一个名为WORKZG.dbf的表文件,其结构如下: 字段 字段名 字段类型 字段宽度 小数 1 职工代码 C 3 2 职工姓名 C 8 3 性别 L 1 4 进厂时间 D 8 5 基本工资 N 12 2 输入如下记录: 职工代码 职工姓名 ...

    Java面试笔试资料大全

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中元素 161 实例133 二维数组的输出 162 实例134 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中元素 161 实例133 二维数组的输出 162 实例134 ...

    JAVA面试宝典2010

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

    Java面试宝典-经典

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

    java面试题大全(2012版)

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

Global site tag (gtag.js) - Google Analytics