最近工作中遇到要查询数据中最近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
分享到:
相关推荐
- **实现原理**:通过计算该月的第一天是星期几,然后生成整个月的日历视图。 - **技术要点**: - 使用了`GetMonth(int D, int md, int n)`函数来计算并打印指定月份的日历。 - 需要考虑到平年和闰年的差异,...
每个月的日期可能以表格形式显示,比如一周的天数(周一到周日)作为表头,然后逐行打印每一天的日期。为了实现这样的布局,开发者可能使用了字符串处理函数,如sprintf或strcat,以及控制输出格式的转义序列,如"\t...
在本示例中,通过C语言实现了这样一个程序,它可以接收用户输入的某一年份,然后输出该年的每月日历。 #### 2. 关键函数解释 在C语言中编写万年历程序通常涉及日期计算、闰年判断等功能。下面详细介绍几个关键函数...
7. **获取当前月份的下一天**:先获取下一个月的第一天,再减去3毫秒(即加上一天)。 8. **获取当前周的下一周的第一天**:先获取本周的最后一天,再计算下一周的第一天。 以上是基于给定的信息所总结的一些SQL...
该函数负责填充二维数组`bb`,用以存储每年每月每一天的具体信息。通过循环遍历的方式,记录每一年每个月的具体日期,并根据当前的月份和年份判断当天是否为当月的最后一天。 ```c void details(int year, int month...
最后,考虑到国际化(i18n)和本地化(l10n)的需求,软件应提供多语言支持,日期和时间的显示应能根据用户的语言设置自动调整,例如英文的“January”对应中文的“一月”。 综上所述,地区日期时间显示涉及了编程...
`DAYOFWEEK()`函数返回指定日期是一周中的哪一天,范围从1(星期日)到7(星期六)。这是基于ODBC标准的。 示例: ```sql SELECT DAYOFWEEK('1998-02-03'); ``` 返回值为3,表示1998年2月3日是星期二。 ### 3. `...
通过这种方式,开发者可以灵活地根据需要计算各种日期,如每月、每周、每年的特定日子,甚至精确到一天中的特定时间点。掌握`DATEDIFF`和`DATEADD`的用法,能够极大地简化SQL Server中的日期处理工作,提高代码的...
- `e>` 获取上个月的最后一天 - `f>` 获取去年的最后一天 - `g>` 获取本月的最后一天 - `h>` 获取本月的第一个星期一 - `i>` 获取本年的最后一天 这些函数通过`DATEDIFF`和`DATEADD`结合不同的时间单位(如`mm...
在示例程序中,`Main`方法调用了`isLegalTime`并传入了当前时间(2015年8月15日 16:21:31)和一个时间区间字符串。由于当前时间不在给定的任何区间内,因此输出`False`。 这个方法对于处理时间点和时间区间的关系...
在这个功能模块中,程序能够计算出指定日期后的N天是哪一天。这通常涉及日期运算,包括加减天数,考虑到闰年和平年的天数差异。日期推算需要用到关于月份天数的知识,例如2月有28或29天,其他月份的天数固定。 2. ...
为了生成这样的日历,我们需要编写一个函数,接受当前月份和年份作为参数,然后利用DateTime类生成该月的第一天和最后一天。 ```php function generate_calendar($year, $month) { // 获取当月第一天和最后一天 $...
例如,你可以创建一个哈希表来存储每个月的天数,从而快速找到某一天在月份中的位置。 ```cpp unordered_map, int> month_days{ {1, 31}, {2, 28}, {3, 31}, ... }; // 假设不是闰年 ``` 对于闰年的问题,定义是:...
` 这个查询可以生成一年中的每一天。 12. **今年的第N天**:`SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;` 返回当前日期是今年的第几天。 13. **日期加减年份**:`add_months(sysdate,24)` 可以在当前日期上增加24...
根据给定的信息,本文将详细解释如何使用C++来实现一个万年历程序,该程序能够帮助用户查询特定日期(某年某月某日)是一周中的哪一天以及该日是当月的第几天。 ### C++ 实现万年历 #### 1. 程序结构与功能介绍 ...
在SQL Server中,查询语句是数据库操作的基础,本文主要探讨了几个简单的查询示例,包括使用EOMONTH函数获取每月最后一天的订单、理解HAVING与WHERE的区别,以及INSERT语句中TOP子句的使用。以下是这些知识点的详细...
我们可以创建一个`WeeklyVisitCounter`类,其中维护一个`Map, Integer>`,记录每周内每一天的访问量,然后提供一个方法来计算过去七天的总访问量。 在实际应用中,这些统计信息通常需要持久化,比如存储在数据库中...
-> 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 ...
一个常数,确定星期几作为一周的第一天。 - `firstweekofyear`: 可选。一个常数,确定哪一周作为一年的第一周。 **示例:** ```vb Dim d As Date d = #1/1/2020# Debug.Print DatePart("m", d) ' 输出 1 ``` --- ...