?? 計算時間.txt
字號:
import java.util.Calendar;
import java.util.Date;
/**
* 功能:計算時間
* 上月開始、上月結束、本月開始、本月結束、上周開始、上周結束、本周開始、本周結束、昨天開始、昨天結束、今天開始、今天結束
* @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};
/**
* 功能:計算時間
* 上月開始、上月結束、本月開始、本月結束、上周開始、上周結束、本周開始、本周結束、昨天開始、昨天結束、今天開始、今天結束
* 格式:2007-06-01 00:00:00 2007-06-30 23:59:59
* 本月結束、本周結束、今天結束 都指的是當前日期時間
* 一周按照:星期一至星期天來計算
* @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://上月開始
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;
case LAST_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;
case THIS_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;
case THIS_MONTH_END://本月結束
String thisMonthEnd = now;//本月結束(即:當前時間)
resultString = thisMonthEnd;
break;
case LAST_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;
case LAST_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;
case THIS_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;
case THIS_WEEK_END://本周結束
String thisWeekEnd = now;//本周結束(即:當前時間)
resultString = thisWeekEnd;
break;
case YESTERDAY_START://昨天開始
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";//昨天開始
cal.clear();
resultString = yesterdayStart;
break;
case YESTERDAY_END://昨天結束
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";//昨天結束
cal.clear();
resultString = yesterdayEnd;
break;
case TODAY_START://今天開始
String todayStart=format.format(date)+" 00:00:00";//今天開始
resultString = todayStart;
break;
case TODAY_END://今天結束
String todayEnd = now;//今天結束(即;當前時間)
resultString = todayEnd;
break;
default://沒有匹配的,返回當前時間
resultString = now;
}
return resultString;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -