计算日期的java程序_计算时间 - java编程 - BlogJava

importjava.util.Calendar;importjava.util.Date;/*** 功能:计算时间

* 上月开始、上月结束、本月开始、本月结束、上周开始、上周结束、本周开始、本周结束、昨天开始、昨天结束、今天开始、今天结束

*@see*@version2007-06-07

**/publicclassStartAndEndOfDate {publicstaticenumDateTag {LAST_MONTH_START,LAST_MONTH_END,THIS_MONTH_START,THIS_MONTH_END,LAST_WEEK_START,LAST_WEEK_END,

THIS_WEEK_START,THIS_WEEK_END,YESTERDAY_START,YESTERDAY_END,TODAY_START,TODAY_END,NOW};/*** 功能:计算时间

* 上月开始、上月结束、本月开始、本月结束、上周开始、上周结束、本周开始、本周结束、昨天开始、昨天结束、今天开始、今天结束

* 格式:2007-06-01 00:00:00  2007-06-30 23:59:59

* 本月结束、本周结束、今天结束 都指的是当前日期时间

* 一周按照:星期一至星期天来计算

*@paramtag

*@returnString*/publicstaticString getStartAndEndDate(DateTag tag){

String resultString;

Calendar cal=Calendar.getInstance();

Date date=newDate();

java.text.DateFormat formatFull=newjava.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String now=formatFull.format(date);

java.text.DateFormat format=newjava.text.SimpleDateFormat("yyyy-MM-dd");switch(tag){caseLAST_MONTH_START://上月开始cal.add(Calendar.MONTH,-1);

cal.set(Calendar.DATE,1);

String lastMonthStart=format.format(cal.getTime())+"00:00:00";//上月开始(上月1号)cal.clear();

resultString=lastMonthStart;break;caseLAST_MONTH_END://上月结束cal=Calendar.getInstance();

cal.add(Calendar.MONTH,-1);

cal.set(Calendar.DATE,cal.getActualMaximum(Calendar.DAY_OF_MONTH));

String lastMonthEnd=format.format(cal.getTime())+"23:59:59";//上月结束(上月最后一天)cal.clear();

resultString=lastMonthEnd;break;caseTHIS_MONTH_START://本月开始cal=Calendar.getInstance();

cal.add(Calendar.MONDAY,0);

cal.set(Calendar.DAY_OF_MONTH,1);

String thisMonthStart=format.format(cal.getTime())+"00:00:00";//本月开始(本月1号)cal.clear();

resultString=thisMonthStart;break;caseTHIS_MONTH_END://本月结束String thisMonthEnd=now;//本月结束(即:当前时间)resultString=thisMonthEnd;break;caseLAST_WEEK_START://上周开始cal=Calendar.getInstance();

cal.add(Calendar.WEEK_OF_YEAR,-1);

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

String lastWeekStart=format.format(cal.getTime())+"00:00:00";//上周开始(即:上周一)cal.clear();

resultString=lastWeekStart;break;caseLAST_WEEK_END://上周结束cal=Calendar.getInstance();

cal.add(Calendar.WEEK_OF_YEAR,0);

cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

String lastWeekEnd=format.format(cal.getTime())+"23:59:59";//上周结束(即:上周日)cal.clear();

resultString=lastWeekEnd;break;caseTHIS_WEEK_START://本周开始cal=Calendar.getInstance();

cal.add(Calendar.WEEK_OF_YEAR,0);

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

String thisWeekStart=format.format(cal.getTime())+"00:00:00";//本周开始(即:本周一)cal.clear();

resultString=thisWeekStart;break;caseTHIS_WEEK_END://本周结束String thisWeekEnd=now;//本周结束(即:当前时间)resultString=thisWeekEnd;break;caseYESTERDAY_START://昨天开始cal=Calendar.getInstance();

cal.add(Calendar.DAY_OF_MONTH,-1);

format=newjava.text.SimpleDateFormat("yyyy-MM-dd");

String yesterdayStart=format.format(cal.getTime());

yesterdayStart=yesterdayStart+"00:00:00";//昨天开始cal.clear();

resultString=yesterdayStart;break;caseYESTERDAY_END://昨天结束cal=Calendar.getInstance();

cal.add(Calendar.DAY_OF_MONTH,-1);

format=newjava.text.SimpleDateFormat("yyyy-MM-dd");

String yesterdayEnd=format.format(cal.getTime());

yesterdayEnd=yesterdayEnd+"23:59:59";//昨天结束cal.clear();

resultString=yesterdayEnd;break;caseTODAY_START://今天开始String todayStart=format.format(date)+"00:00:00";//今天开始resultString=todayStart;break;caseTODAY_END://今天结束String todayEnd=now;//今天结束(即;当前时间)resultString=todayEnd;break;default://没有匹配的,返回当前时间resultString=now;

}returnresultString;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值