Java 获取指定日期范围内的每个月,每季度,每一年
/**
*根据时间范围获得月份集
* @return
*/
public static List<String> getRangeSet(String beginDate,String endDate){
/* Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,你需要使用:!Date1.after(Date2);*/
List<String> rangeSet =null;
SimpleDateFormat sdf = null;
Date begin_date = null;
Date end_date = null;
rangeSet = new java.util.ArrayList<String>();
sdf = new SimpleDateFormat("yyyy-MM");
try {
begin_date = sdf.parse(beginDate);//定义起始日期
end_date = sdf.parse(endDate);//定义结束日期
} catch (ParseException e) {
System.out.println("时间转化异常,请检查你的时间格式是否为yyyy-MM或yyyy-MM-dd");
}
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(begin_date);//设置日期起始时间
while(!dd.getTime().after(end_date)){//判断是否到结束日期
rangeSet.add(sdf.format(dd.getTime()));
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
return rangeSet;
}
/**
*根据时间范围获得季度集
* @return
*/
public static List<String> getRangeSet_Q(String beginDate,String endDate){
/* Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,你需要使用:!Date1.after(Date2);*/
List<String> rangeSet =null;
SimpleDateFormat sdf = null;
Date begin_date = null;
Date end_date = null;
String[] numStr =null;
String Q=null;
rangeSet = new java.util.ArrayList<String>();
sdf = new SimpleDateFormat("yyyy-MM");
try {
begin_date = sdf.parse(beginDate);//定义起始日期
end_date = sdf.parse(endDate);//定义结束日期
} catch (ParseException e) {
System.out.println("时间转化异常,请检查你的时间格式是否为yyyy-MM或yyyy-MM-dd");
}
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(begin_date);//设置日期起始时间
while(!dd.getTime().after(end_date)){//判断是否到结束日期
numStr= sdf.format(dd.getTime()).split("-",0);
Q = getQuarter(Integer.valueOf(numStr[1]))+"";
System.out.println(numStr[0].toString()+"年"+numStr[1].toString()+"月"+"为"+numStr[0].toString()+"年第"+Q+"季");
rangeSet.add(Q);
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
return rangeSet;
}
/**
* 根据月获得季度
* @param month 月
* @return 季度
*/
private static int getQuarter(int month) {
if(month == 1 || month == 2 || month == 3){
return 1;
}else if(month == 4 || month == 5 || month == 6){
return 2;
}else if(month == 7 || month == 8 || month == 9){
return 3;
}else{
return 4;
}
}
Java 获取指定日期范围内的每个月,每季度,每一年的更多相关文章
- JAVA获取指定日期是星期几
/** * 获取指定日期是星期几<br> * * @param date * @return 指定日期是星期几 */ public static String getWeekOfDate( ...
- Java 获取指定日期的方法总结
原文地址:http://bdcwl.blog.163.com/blog/static/765222652009104171521/ SimpleDateFormat sdf = new SimpleD ...
- Java 获取指定日期的方法总结 -转
格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M ...
- JAVA获取指定日期的一天的开始时刻(时间)和结束时刻(时间)
注: SimpleDateFormat是线程不安全的 public static SimpleDateFormat format = new SimpleDateFormat("yyyyMM ...
- Java 获取指定日期的方法汇总
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; impo ...
- java获取指定日期的年、月、日的值
参数:String dateStr = '2016-05-18'; 1.获取string对应date日期: Date date = new SimpleDateFormat("yyyy-MM ...
- JAVA获取指定日期的周一的日期
/** * 获取当前周的周一的日期 * @param date 传入当前日期 * @return */ public static Date getThisWeekMonday(Date date) ...
- java 获取指定日期
//可以设置指定那一天:例如,最近一周,参数传入-7,最近一月,参数传入-30...private String getBeginDate(int date) throws ParseExceptio ...
- java获取指定日期之前或之后的时间
/** * 前/后?分钟 * * @param d * @param minute * @return */ public static Date rollMinute(Date d, int min ...
随机推荐
- OpenXMl倒出word、PDF
OpenXMl倒出word.PDF @using MarkdownSharp @{ ViewBag.Title = "预览"; Layout = "~/V ...
- js获取url 中的值,并跳转相应页面
实现方法:一:获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET1.函数: <Script lang ...
- .Net 委托 delegate 学习
一.什么是委托: 委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递.委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活多个方法的地址,而不是数据. 二.使用委托: 关键 ...
- offsetLeft 解析
前言:先看下w3c与之相关的介绍: element.offsetHeight 返回元素的高度. element.offsetWidth 返回元素的宽度. element.offsetLeft 返回元素 ...
- 《JavaScript高级程序设计》笔记:BOM(八)
BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关. window对象 全局作用域 定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过 ...
- wordpress常用函数及使用位置
single 页面: 摘要内容:the_excerpt():如果摘要空,摘取正文内容:需要在循环中使用 获取当下页面的分类:wp_get_post_terms( int $post_id, strin ...
- Netty中ByteBuf的引用计数线程安全的实现原理
原文链接 Netty中ByteBuf的引用计数线程安全的实现原理 代码仓库地址 ByteBuf 实现了ReferenceCounted 接口,实现了引用计数接口,该接口的retain(int) 方法为 ...
- PM过程能力成熟度4级
话说3级的PM已经非常厉害了,但仍然处于定性阶段.如何才能不动声色的跟BOSS过招?PM 4级就是让数字变成你的嘴巴,开启项目管理的量化大门.因此,4级PM的工作重心(详见上一篇文章中的表格),也会逐 ...
- C#语言中的修饰符
public:公有访问.不受任何限制. private:私有访问.只限于本类成员访问,子类和实例都不能访问. protected:保护访问.只限于本类和子类访问,实例不能访问. internal:内部 ...
- 在原有数据库中使用 CodeFirst
一.为当前实体模型启用数据迁移 1.Enable-Migrations -ContextTypeName EME.DBHelper.StoreContext(数据访问上下文) 2. Add-Migra ...