Java季度工具类

原创 2013年12月06日 10:03:46
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;


import org.apache.commons.lang.StringUtils;


/**
 * 季度工具类
 * @author keertech.wuhao
 * @date 2013-12-6 上午9:04:36
 */
public class SeasonUtils {


public static final String YYYYMMDD = "yyyy-MM-dd";


public static String formatDate(Date date, String pattern) {
String strDate = null;
try {
if (StringUtils.isBlank(pattern)) {
pattern = YYYYMMDD;
}
SimpleDateFormat format = new SimpleDateFormat(pattern);
strDate = format.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return strDate;
}


/**
* 获取季度开始结束日期
* @param season 1:第一季度 ,2:第二季度,3:第三季度 ,4:第四季度
*/
public static Date[] getSeasonDate(int season) {
Date[] dates = new Date[2];
Calendar calendar = new GregorianCalendar();
switch (season) {
case 1:
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
dates[0] = calendar.getTime();
calendar.set(Calendar.MONTH, Calendar.MARCH);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
dates[1] = calendar.getTime();
break;
case 2:
calendar.set(Calendar.MONTH, Calendar.APRIL);
calendar.set(Calendar.DAY_OF_MONTH, 1);
dates[0] = calendar.getTime();
calendar.set(Calendar.MONTH, Calendar.JUNE);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
dates[1] = calendar.getTime();
break;
case 3:
calendar.set(Calendar.MONTH, Calendar.JULY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
dates[0] = calendar.getTime();
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
dates[1] = calendar.getTime();
break;
case 4:
calendar.set(Calendar.MONTH, Calendar.OCTOBER);
calendar.set(Calendar.DAY_OF_MONTH, 1);
dates[0] = calendar.getTime();
calendar.set(Calendar.MONTH, Calendar.DECEMBER);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
dates[1] = calendar.getTime();
break;
default:
break;
}
return dates;
}


/**
* 获取季度开始结束日期
* @param season  1:第一季度 ,2:第二季度,3:第三季度 ,4:第四季度
* @param pattern 格式化日期格式
*/
public static String[] getSeasonCharDate(int season, String pattern) {
Date[] dates = getSeasonDate(season);
String[] charDate = new String[2];
if (dates != null && dates.length >= 2) {
if (dates[0] != null) charDate[0] = formatDate(dates[0], pattern);
if (dates[1] != null) charDate[1] = formatDate(dates[1], pattern);
}
return charDate;

}


public static void main(String[] args) {
System.out.println(getSeasonCharDate(1, null)[0] + "--" + getSeasonCharDate(1, null)[1]);
}

}

相关文章推荐

JAVA日期查询:季度、月份、星期等时间信息

package com.stt.dateChange; import java.text.SimpleDateFormat; import java.util.Calendar; imp...

java操作excel工具类

  • 2017年11月15日 17:12
  • 23.38MB
  • 下载

Java连接数据库的工具类

  • 2017年11月10日 08:06
  • 23.12MB
  • 下载

fastdfs分布式文件系统之JAVA client工具类封装

工具类当中进行连接池的初始化及上传、下载、删除功能的实现并在spring配置文件中配置,生成对应的java bean 方便其它类访问。...

Java文件工具类

  • 2017年11月14日 15:16
  • 19KB
  • 下载

itextpdf-5.4.3.jar java 转pdf 工具类 jar

  • 2017年11月16日 10:23
  • 3.36MB
  • 下载

【死磕Java并发】-----J.U.C之并发工具类:Semaphore

此篇博客所有源码均来自JDK 1.8 信号量Semaphore是一个控制访问多个共享资源的计数器,和CountDownLatch一样,其本质上是一个“共享锁”。Semaphore,在API是这么介绍的...
  • chenssy
  • chenssy
  • 2017年05月03日 18:12
  • 4347

java工具类

  • 2017年10月31日 11:08
  • 62KB
  • 下载

java文件工具类

  • 2017年10月26日 16:08
  • 17KB
  • 下载

Java实现对Excel表格的操作工具类

工作之余写了关于用POI操作Excel的工具类,十分方便。在这里贴出代码。引用的jar包有5个:具体jar可以在maven仓库里面下载。   1.    poi-3.10.1.jar   2.  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java季度工具类
举报原因:
原因补充:

(最多只允许输入30个字)