首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

当前时间所在周and所在月起初结束日期定位

2012-09-15 
当前时间所在周and所在月起始结束日期定位package com.zyna.servletimport java.io.IOExceptionimport j

当前时间所在周and所在月起始结束日期定位

package com.zyna.servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.ResultSet;import java.sql.SQLException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.xml.parsers.ParserConfigurationException;import com.zyna.db.DbAccessor;import com.zyna.dbstructure.XML;import com.zyna.pojo.OperateTask; public class SampleServlet extends HttpServlet { private static final long serialVersionUID = 1L;    public SampleServlet() {        super();    }    protected void doGet(HttpServletRequest request,HttpServletResponse response)                            throws ServletException, IOException {        doPost(request, response);    }    protected void doPost(HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException {                XML xml = new XML();    try {xml.init();} catch (ParserConfigurationException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}    //SampleServlet?time="+time+"justUnit="+justUnit+"department="+department+"eventType="+eventType;//接收 查询参数    String time = request.getParameter("time");        String justUnit = request.getParameter("justUnit");        String department = request.getParameter("department");        String eventType = request.getParameter("eventType");            //response.setContentType("text/html");    //response.setCharacterEncoding("GBK");           response.setContentType("text/xml");    response.setCharacterEncoding("UTF-8");        PrintWriter out = response.getWriter();            //connection database    DbAccessor dbAccessor = new DbAccessor();        //sql    StringBuffer sql = new StringBuffer(256);    sql.append("SELECT ot_id, ot_item, ot_type, ot_level, ot_frequency, ot_desc, ot_attachment, ot_busid, ot_createtime, ot_createuser FROM t_opreate_task where 1=1");if(null != time && time != ""&&null != justUnit && justUnit != ""){Map<String,String> map = splitDateStr(time);String day = map.get("day");String month = map.get("month");String year = map.get("year");String startDay = "";String endDay = "";//周报表if("week".equals(justUnit)){Map<String,Date> map_Week = getThisWeekStartDayAndEndDay(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));Date calFirstDayInThisWeek = map_Week.get("calFirstDayInThisWeek");Date calLastDayInThisWeek = map_Week.get("calLastDayInThisWeek");String calFirstDayInThisWeek_Str = dateToString(calFirstDayInThisWeek,"yyyy-MM-dd");startDay = calFirstDayInThisWeek_Str;String calLastDayInThisWeek_Str = dateToString(calLastDayInThisWeek,"yyyy-MM-dd");endDay = calLastDayInThisWeek_Str;}//月报表else if("month".equals(justUnit)){Map<String,Date> map_Month = getThisMonthStartDayAndEndDay(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));Date calFirstDayInThisMonth = map_Month.get("calFirstDayInThisMonth");Date calLastDayInThisMonth = map_Month.get("calLastDayInThisMonth");String calFirstDayInThisMonth_Str = dateToString(calFirstDayInThisMonth,"yyyy-MM-dd");String ccalLastDayInThisMonth_Str = dateToString(calLastDayInThisMonth,"yyyy-MM-dd");startDay = calFirstDayInThisMonth_Str;endDay = ccalLastDayInThisMonth_Str;}else{return;} //where ot_createtime between '2011-04-13' and '2011-11-13';sql.append(" and")   .append(" ot_createtime")   .append(" between")   .append(" '")   .append( startDay)   .append(" '")   .append(" and")   .append(" '")   .append( endDay)   .append(" '")   ;//System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");}if(null != time && time != "" && (justUnit=="" || justUnit == null)){Map<String,String> tempMap = splitDateStr(time);String day = tempMap.get("day");String month = tempMap.get("month");String year = tempMap.get("year");Calendar calendar = new GregorianCalendar(Integer.parseInt(year), Integer.parseInt(month)-1, Integer.parseInt(day));Date date = calendar.getTime();String date_Str = dateToString(date,"yyyy-MM-dd");sql.append(" and")   .append(" ot_createtime = ")   .append(" '")   .append(date_Str)   .append(" '")   ;}if(null != department && department != ""){sql.append(" and")   .append(" ot_busid=")   .append(" '")   .append(department)   .append(" '")   ;}if(null != eventType && eventType != "" && 1==1){sql.append(" and")   .append(" ot_type='"+eventType+"'");}for(int i = 0 ; i < 100 ; i++){System.err.println("sql-->"+sql.toString());}        //String sql = "SELECT ot_id, ot_item, ot_type, ot_level, ot_frequency, ot_desc, ot_attachment, ot_busid, ot_createtime, ot_createuser FROM t_opreate_task";        //run sql    ResultSet resultSet = dbAccessor.execute(sql.toString());        List<OperateTask> list = new ArrayList<OperateTask>();    try {    while(resultSet.next()){    String[] strs = new String[10] ;            //ot_id    strs[0]= String.valueOf(resultSet.getInt(1));    //ot_item    strs[1] =resultSet.getString(2);    //ot_type    strs[2]=String.valueOf(resultSet.getInt(3));    //ot_level    strs[3]=String.valueOf(resultSet.getInt(4));    //ot_frequency    strs[4]=String.valueOf(resultSet.getInt(5));        xml.create(strs);    }    } catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}//out.println("The locale you selected is " + locale+"t_opreate_task"+id+"-->"+list);try {while(resultSet.next()){int id = resultSet.getInt(1);System.out.println("id-->"+id);}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}        //out.println(locale+"xiaoyu"+resultSet.toString());try {xml.output(out);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}    }                public static void main(String[] args){    //    Calendar calendar = Calendar.getInstance();//    //    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;//     //    Calendar calFirstDayInThisWeek = (Calendar)calendar.clone();//     //    //例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点: add(Calendar.DAY_OF_MONTH, -5)。 //    calFirstDayInThisWeek.add(Calendar.DATE, calendar.getActualMinimum(Calendar.DAY_OF_WEEK)-dayOfWeek);//     //    Calendar calLastDayInThisWeek = (Calendar)calendar.clone();//    //    calLastDayInThisWeek.add(Calendar.DATE,calendar.getActualMaximum(Calendar.DAY_OF_WEEK)-dayOfWeek);//    //    System.out.println("今天是本周的第"+dayOfWeek+"天"+"--本周星期一具日期为:"+calFirstDayInThisWeek.getTime()+"-->"+calLastDayInThisWeek.getTime());//    //    List<Map<String,Date>> tempList = getThisWeekStartDayAndEndDay("");//    //    Map<String,Date> tempMap = tempList.get(0); //    //    System.out.println("tempMap_1-->"+tempMap.get("calFirstDayInThisWeek")+"---"+tempMap.get("calLastDayInThisWeek"));        //splitDateStr("");        //Map map = splitDateStr("07/11/2011");    //    System.out.println("map_day-->"+map.get("day"));//    //    System.out.println("map_month-->"+map.get("month"));//    //    System.out.println("map_year-->"+map.get("year"));//    //    Map map = getThisWeekStartDayAndEndDay(2011,7,11);//    //    System.out.println("calFirstDayInThisWeek-->"+map.get("calFirstDayInThisWeek"));//    //    System.out.println("calLastDayInThisWeek-->"+map.get("calLastDayInThisWeek"));        //System.out.println("Calendar.JULY"+Calendar.JULY);        //getThisMonthStartDayAndEndDay(1,2,3);     //Calendar calendar = Calendar.getInstance();        //int maximum = calendar.getMaximum(calendar.DAY_OF_MONTH);        //System.out.println("maximum-->"+maximum);    //    Map<String ,Date> map = getThisMonthStartDayAndEndDay(2011,7,11);//    Date calFirstDayInThisMonth = map.get("calFirstDayInThisMonth");//    Date calLastDayInThisMonth = map.get("calLastDayInThisMonth");//    //2011-04-13//      DateFormat df = new SimpleDateFormat("yyyy-MM-dd");//     String calFirstDayInThisMonth_str = df.format(calFirstDayInThisMonth);//     String calLastDayInThisMonth_str = df.format(calLastDayInThisMonth);//    System.out.println("-----------------------------------------");//    System.out.println("calFirstDayInThisMonth_str-->"+calFirstDayInThisMonth_str);//    System.out.println("calLastDayInThisMonth_str-->"+calLastDayInThisMonth_str);//    System.out.println("-----------------------------------------");            //    Map<String,String> map = splitDateStr("07/11/2011");//    //    String day = map.get("day");//    //    String month = map.get("month");//    //    String year = map.get("year");//    //    //    System.out.println("今天是:"+year+"_"+month+"_"+day);         String[] arrayStr =new String[]{"a","b","c","d","e","f","g","h","i"};            System.out.println("arrayStr.length-->"+arrayStr.length);        int ladyQ = arrayStr.length << 4;        System.out.println("length << 4-->"+ladyQ);                        }        /**     * 根据给定输入时间得到本周起始时间和本周结束时间     * key1:calFirstDayInThisWeek      * key2:calLastDayInThisWeek     */    public static Map<String,Date> getThisWeekStartDayAndEndDay(int year,int month,int day){        Calendar calendar = new GregorianCalendar(year, month-1, day);           //Calendar calendar = Calendar.getInstance();    //Calendar cal = new GregorianCalendar(2005, Calendar.JANUARY, 30);        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;         Calendar calFirstDayInThisWeek = (Calendar)calendar.clone();         //例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点: add(Calendar.DAY_OF_MONTH, -5)。     calFirstDayInThisWeek.add(Calendar.DATE, calendar.getActualMinimum(Calendar.DAY_OF_WEEK)-dayOfWeek);         Calendar calLastDayInThisWeek = (Calendar)calendar.clone();        calLastDayInThisWeek.add(Calendar.DATE,calendar.getActualMaximum(Calendar.DAY_OF_WEEK)-dayOfWeek);        System.out.println("今天是本周的第"+dayOfWeek+"天"+"--本周星期一具日期为:"+calFirstDayInThisWeek.getTime()+"-->"+calLastDayInThisWeek.getTime());        Map map = new HashMap();        map.put("calFirstDayInThisWeek", calFirstDayInThisWeek.getTime());    map.put("calLastDayInThisWeek", calLastDayInThisWeek.getTime());            return map;    }        /**     * key_1:calFirstDayInThisMonth     * key_2:calLastDayInThisMonth     * @param year     * @param month     * @param day     * @return     */    public static Map<String,Date> getThisMonthStartDayAndEndDay(int year,int month,int day){        //Calendar calendar = Calendar.getInstance();    Calendar calendar = new GregorianCalendar(year, month-1, day);        int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);        Calendar calFirstDayInThisMonth = (Calendar)calendar.clone();        //例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点: add(Calendar.DAY_OF_MONTH, -5)。     calFirstDayInThisMonth.add(Calendar.DATE, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)-dayOfMonth);            Calendar calLastDayInThisMonth = (Calendar)calendar.clone();        calLastDayInThisMonth.add(Calendar.DATE, calendar.getMaximum(Calendar.DAY_OF_MONTH)-dayOfMonth);        Map<String,Date> map = new HashMap<String,Date>();        map.put("calFirstDayInThisMonth", calFirstDayInThisMonth.getTime());        map.put("calLastDayInThisMonth", calLastDayInThisMonth.getTime());        return map;    }        /**     * 分割 dateSstr 喂 getThisWeekStartDayAndEndDay     * @param dateStr     * @return     */    public static Map<String,String> splitDateStr(String dateStr){        //07/11/2011        String tempDateStr = "07/11/2011";        String[] strArr = dateStr.split("/");        String month = strArr[0];        String day = strArr[1];        String year = strArr[2];        if(strArr.length != 3){        return null;        }         Map map = new HashMap();        map.put("day", day);        map.put("month", month);        map.put("year", year);            return map;    }        public static String dateToString(Date date,String ruler){            //String ruler_1 = "yyyy-MM-dd";              DateFormat df = new SimpleDateFormat(ruler);                String date_Str = df.format(date);            return date_Str;    }            }

热点排行