`

查询最近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
分享到:
评论

相关推荐

    C语言万年历查询系统

    - **实现原理**:通过计算该月的第一天是星期几,然后生成整个月的日历视图。 - **技术要点**: - 使用了`GetMonth(int D, int md, int n)`函数来计算并打印指定月份的日历。 - 需要考虑到平年和闰年的差异,...

    日历查询(C语言编写)

    每个月的日期可能以表格形式显示,比如一周的天数(周一到周日)作为表头,然后逐行打印每一天的日期。为了实现这样的布局,开发者可能使用了字符串处理函数,如sprintf或strcat,以及控制输出格式的转义序列,如"\t...

    用C语言编写的万年历,实现输入某一年打印这一年的每个月份信息

    在本示例中,通过C语言实现了这样一个程序,它可以接收用户输入的某一年份,然后输出该年的每月日历。 #### 2. 关键函数解释 在C语言中编写万年历程序通常涉及日期计算、闰年判断等功能。下面详细介绍几个关键函数...

    Sql memo日常查询语句应用

    7. **获取当前月份的下一天**:先获取下一个月的第一天,再减去3毫秒(即加上一天)。 8. **获取当前周的下一周的第一天**:先获取本周的最后一天,再计算下一周的第一天。 以上是基于给定的信息所总结的一些SQL...

    c语言实现简单日历查询功能

    该函数负责填充二维数组`bb`,用以存储每年每月每一天的具体信息。通过循环遍历的方式,记录每一年每个月的具体日期,并根据当前的月份和年份判断当天是否为当月的最后一天。 ```c void details(int year, int month...

    地区日期时间显示

    最后,考虑到国际化(i18n)和本地化(l10n)的需求,软件应提供多语言支持,日期和时间的显示应能根据用户的语言设置自动调整,例如英文的“January”对应中文的“一月”。 综上所述,地区日期时间显示涉及了编程...

    mysql 日期函数相关操作

    `DAYOFWEEK()`函数返回指定日期是一周中的哪一天,范围从1(星期日)到7(星期六)。这是基于ODBC标准的。 示例: ```sql SELECT DAYOFWEEK('1998-02-03'); ``` 返回值为3,表示1998年2月3日是星期二。 ### 3. `...

    SQL Server日期计算第1/2页

    通过这种方式,开发者可以灵活地根据需要计算各种日期,如每月、每周、每年的特定日子,甚至精确到一天中的特定时间点。掌握`DATEDIFF`和`DATEADD`的用法,能够极大地简化SQL Server中的日期处理工作,提高代码的...

    经典Sql语句汇集(1)

    - `e&gt;` 获取上个月的最后一天 - `f&gt;` 获取去年的最后一天 - `g&gt;` 获取本月的最后一天 - `h&gt;` 获取本月的第一个星期一 - `i&gt;` 获取本年的最后一天 这些函数通过`DATEDIFF`和`DATEADD`结合不同的时间单位(如`mm...

    C#实现判断一个时间点是否位于给定时间区间的方法

    在示例程序中,`Main`方法调用了`isLegalTime`并传入了当前时间(2015年8月15日 16:21:31)和一个时间区间字符串。由于当前时间不在给定的任何区间内,因此输出`False`。 这个方法对于处理时间点和时间区间的关系...

    C语言程序设计万年历.doc

    在这个功能模块中,程序能够计算出指定日期后的N天是哪一天。这通常涉及日期运算,包括加减天数,考虑到闰年和平年的天数差异。日期推算需要用到关于月份天数的知识,例如2月有28或29天,其他月份的天数固定。 2. ...

    PHP博客型日历,能标识文章发表日期

    为了生成这样的日历,我们需要编写一个函数,接受当前月份和年份作为参数,然后利用DateTime类生成该月的第一天和最后一天。 ```php function generate_calendar($year, $month) { // 获取当月第一天和最后一天 $...

    第一章讲解1

    例如,你可以创建一个哈希表来存储每个月的天数,从而快速找到某一天在月份中的位置。 ```cpp unordered_map, int&gt; month_days{ {1, 31}, {2, 28}, {3, 31}, ... }; // 假设不是闰年 ``` 对于闰年的问题,定义是:...

    Oracle时间格式.docx

    ` 这个查询可以生成一年中的每一天。 12. **今年的第N天**:`SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;` 返回当前日期是今年的第几天。 13. **日期加减年份**:`add_months(sysdate,24)` 可以在当前日期上增加24...

    c++实现一个万年历

    根据给定的信息,本文将详细解释如何使用C++来实现一个万年历程序,该程序能够帮助用户查询特定日期(某年某月某日)是一周中的哪一天以及该日是当月的第几天。 ### C++ 实现万年历 #### 1. 程序结构与功能介绍 ...

    SQL Server简单查询示例汇总

    在SQL Server中,查询语句是数据库操作的基础,本文主要探讨了几个简单的查询示例,包括使用EOMONTH函数获取每月最后一天的订单、理解HAVING与WHERE的区别,以及INSERT语句中TOP子句的使用。以下是这些知识点的详细...

    非常完美Java实现年、月、日、周访问量统计

    我们可以创建一个`WeeklyVisitCounter`类,其中维护一个`Map, Integer&gt;`,记录每周内每一天的访问量,然后提供一个方法来计算过去七天的总访问量。 在实际应用中,这些统计信息通常需要持久化,比如存储在数据库中...

    mysql的日期和时间函数

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

    VisualBasic 6.0函数查询手册

    一个常数,确定星期几作为一周的第一天。 - `firstweekofyear`: 可选。一个常数,确定哪一周作为一年的第一周。 **示例:** ```vb Dim d As Date d = #1/1/2020# Debug.Print DatePart("m", d) ' 输出 1 ``` --- ...

Global site tag (gtag.js) - Google Analytics