?? 計(jì)算時(shí)間.txt
字號(hào):
import java.util.Calendar;
import java.util.Date;
/**
* 功能:計(jì)算時(shí)間
* 上月開(kāi)始、上月結(jié)束、本月開(kāi)始、本月結(jié)束、上周開(kāi)始、上周結(jié)束、本周開(kāi)始、本周結(jié)束、昨天開(kāi)始、昨天結(jié)束、今天開(kāi)始、今天結(jié)束
* @see
* @version 2007-06-07
*
*/
public class StartAndEndOfDate {
public static enum DateTag {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};
/**
* 功能:計(jì)算時(shí)間
* 上月開(kāi)始、上月結(jié)束、本月開(kāi)始、本月結(jié)束、上周開(kāi)始、上周結(jié)束、本周開(kāi)始、本周結(jié)束、昨天開(kāi)始、昨天結(jié)束、今天開(kāi)始、今天結(jié)束
* 格式:2007-06-01 00:00:00 2007-06-30 23:59:59
* 本月結(jié)束、本周結(jié)束、今天結(jié)束 都指的是當(dāng)前日期時(shí)間
* 一周按照:星期一至星期天來(lái)計(jì)算
* @param tag
* @return String
*/
public static String getStartAndEndDate(DateTag tag){
String resultString;
Calendar cal = Calendar.getInstance();
Date date = new Date();
java.text.DateFormat formatFull = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = formatFull.format(date);
java.text.DateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
switch (tag){
case LAST_MONTH_START://上月開(kāi)始
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DATE, 1);
String lastMonthStart = format.format(cal.getTime())+" 00:00:00";//上月開(kāi)始(上月1號(hào))
cal.clear();
resultString = lastMonthStart;
break;
case LAST_MONTH_END://上月結(jié)束
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";//上月結(jié)束(上月最后一天)
cal.clear();
resultString = lastMonthEnd;
break;
case THIS_MONTH_START://本月開(kāi)始
cal=Calendar.getInstance();
cal.add(Calendar.MONDAY,0);
cal.set(Calendar.DAY_OF_MONTH, 1);
String thisMonthStart = format.format(cal.getTime())+" 00:00:00";//本月開(kāi)始(本月1號(hào))
cal.clear();
resultString = thisMonthStart;
break;
case THIS_MONTH_END://本月結(jié)束
String thisMonthEnd = now;//本月結(jié)束(即:當(dāng)前時(shí)間)
resultString = thisMonthEnd;
break;
case LAST_WEEK_START://上周開(kāi)始
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";//上周開(kāi)始(即:上周一)
cal.clear();
resultString = lastWeekStart;
break;
case LAST_WEEK_END://上周結(jié)束
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";//上周結(jié)束(即:上周日)
cal.clear();
resultString = lastWeekEnd;
break;
case THIS_WEEK_START://本周開(kāi)始
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";//本周開(kāi)始(即:本周一)
cal.clear();
resultString = thisWeekStart;
break;
case THIS_WEEK_END://本周結(jié)束
String thisWeekEnd = now;//本周結(jié)束(即:當(dāng)前時(shí)間)
resultString = thisWeekEnd;
break;
case YESTERDAY_START://昨天開(kāi)始
cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, -1);
format = new java.text.SimpleDateFormat("yyyy-MM-dd");
String yesterdayStart= format.format(cal.getTime());
yesterdayStart = yesterdayStart+" 00:00:00";//昨天開(kāi)始
cal.clear();
resultString = yesterdayStart;
break;
case YESTERDAY_END://昨天結(jié)束
cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, -1);
format = new java.text.SimpleDateFormat("yyyy-MM-dd");
String yesterdayEnd= format.format(cal.getTime());
yesterdayEnd = yesterdayEnd+" 23:59:59";//昨天結(jié)束
cal.clear();
resultString = yesterdayEnd;
break;
case TODAY_START://今天開(kāi)始
String todayStart=format.format(date)+" 00:00:00";//今天開(kāi)始
resultString = todayStart;
break;
case TODAY_END://今天結(jié)束
String todayEnd = now;//今天結(jié)束(即;當(dāng)前時(shí)間)
resultString = todayEnd;
break;
default://沒(méi)有匹配的,返回當(dāng)前時(shí)間
resultString = now;
}
return resultString;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -