Java季度工具类

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]);
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值