dateutil 日期计算_DateUtil(日期工具类)

/*** 把日期对象根据生成指定格式的字符串

*@paramdate

*@paramformat

*@return

*/

public staticString formatDate(Date date,String format){

String result="";

SimpleDateFormat sdf=newSimpleDateFormat(format);if(date!=null){

result=sdf.format(date);

}returnresult;

}/*** 把日期字符串生成指定格式的日期对象

*@paramstr

*@paramformat

*@return*@throwsException*/

public static Date formatString(String str,String format) throwsException{if(StringUtil.isEmpty(str)){return null;

}

SimpleDateFormat sdf=newSimpleDateFormat(format);returnsdf.parse(str);

}/*** 生成当前年月日字符串

*@return*@throwsException*/

public static String getCurrentDateStr()throwsException{

Date date=newDate();

SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");returnsdf.format(date);

}/*** 获取指定范围内的日期集合

*@parambefore

*@paramend

*@return*@throwsException*/

public static List getRangeDates(String before,String end)throwsException{

List datas=new ArrayList();

Calendar cb=Calendar.getInstance();

Calendar ce=Calendar.getInstance();

cb.setTime(formatString(before,"yyyy-MM-dd"));

ce.setTime(formatString(end,"yyyy-MM-dd"));

datas.add(formatDate(cb.getTime(),"yyyy-MM-dd"));while(cb.before(ce)){

cb.add(Calendar.DAY_OF_MONTH,1);

datas.add(formatDate(cb.getTime(),"yyyy-MM-dd"));

}returndatas;

}/*** 获取指定范围内的月份集合

*@parambefore

*@paramend

*@return*@throwsException*/

public static List getRangeMonth(String before,String end)throwsException{

List months=new ArrayList();

Calendar cb=Calendar.getInstance();

Calendar ce=Calendar.getInstance();

cb.setTime(formatString(before,"yyyy-MM"));

ce.setTime(formatString(end,"yyyy-MM"));

months.add(formatDate(cb.getTime(),"yyyy-MM"));while(cb.before(ce)){

cb.add(Calendar.MONTH,1);

months.add(formatDate(cb.getTime(),"yyyy-MM"));

}returnmonths;

}public static void main(String[] args) throwsException{/*List datas=getRangeDatas("2017-10-28","2017-11-02");

for(String data:datas){

System.out.println(data);

}*/List months=getRangeMonth("2017-09","2018-12");for(String month:months){

System.out.println(month);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值