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 ...
随机推荐
- C#工具:分词辅助类
using System; using System.Collections; using System.IO; using System.Text.RegularExpressions; names ...
- C# WebRequest.Create 锚点“#”字符问题
背景 在与后台API接口对接时,如将网页Url作为参数请求数据时,如果是锚点参数,则会丢失. 锚点参数 请求通过WebRequest.Create创建一个WebRequest: var uri = & ...
- 【Tomcat】Tomcat工作原理及简单模拟实现
Tomcat应该都不陌生,我们经常会把写好的代码打包放在Tomcat里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么Tomcat是如何工作的? 一.Tomcat工作原理 我们 ...
- MySQL数据库中的四种隔离级别
事务的隔离性比想象的要复杂,在 SQL 标准中定义了四种级别的隔离级别.通常而言,较低级别的隔离通常可以执行更高的并发,系统的开销也更低 READ UNCOMMITTED 该级别为未提交读.在该级别中 ...
- h5与c3权威指南笔记--css3新属性选择器
[att*=val] 选择所有att属性值中包含val的.只要包含val值,不论val值在属性值的前面还是中间还是后面~ <style> div[class*=div]{ color: r ...
- MyBatis Generator 生成器把其他数据库的同名表生成下来的问题
[问题] 使用MyBatis Generator生成器时,发现Mapper文件中出现字段与连接数据库不符,经过查找发现该表是其他数据库的同名表的字段. [解决问题] 在构造文件中,这里是generat ...
- 深圳共创力咨询《成功的产品经理DNA》公开课3月29~30日在深圳开课!
课时:13小时(2天) 成功的产品经理DNA 讲师: 冯老师 时间:2019.03.29~30 举办单位:深圳市共创力企业管理咨询有限公司 举办地点:深圳 [课程背景] 当今时代,供过于求. ...
- [20190419]shared latch spin count.txt
[20190419]shared latch spin count.txt --//昨天测试exclusive latch spin count = 20000(缺省).--//今天测试shared ...
- SQL SERVER 2012 AlwaysOn - 维护篇 03
搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念: DBA 不但要熟悉数据库也要熟悉操作系统的一些概 ...
- emacs 只读打开文件
emacs 只读打开文件 : C-x C-r emacs 让buffer区变成只读 : C-x C-q emacs 让只读buffer区变成可以保存修改 : C-x C-q