• 获取当天的前一天,本周,本月,本季度的起止日期


    /*本周*/
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    int dow = calendar.get(Calendar.DAY_OF_WEEK) - 2;
    if (dow == -1) dow = 6;
    //本周最小日期
    calendar.add(Calendar.DAY_OF_YEAR, -dow);
    String strDate = format1.format(calendar.getTime())+ " 00:00:00";
    //本周最大日期
    calendar.add(Calendar.DAY_OF_YEAR, 6);
    String strDate1 = format1.format(calendar.getTime())+ " 23:59:59";
    //本月
    String month = format.format(new Date());
    calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONDAY), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
    String startMonth = format1.format(calendar.getTime())+ " 00:00:00";
    calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONDAY), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
    String endtMonth = format1.format(calendar.getTime())+ " 23:59:59";
    //季
    /*当前季度的开始时间*/
    int currentMonth = calendar.get(Calendar.MONTH)+1;
    String startSeason = null;
    if (currentMonth >= 1 && currentMonth <= 3) {
    calendar.set(Calendar.MONTH, 0);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
    calendar.set(Calendar.MONTH, 3);
    } else if (currentMonth >= 7 && currentMonth <= 9){
    calendar.set(Calendar.MONTH, 6);
    }else if (currentMonth >= 10 && currentMonth <= 12) {
    calendar.set(Calendar.MONTH, 9);
    }
    calendar.set(Calendar.DATE, 1);
    startSeason = format1.format(calendar.getTime()) + " 00:00:00";

    /*当前季度的结束时间*/
    Calendar c = Calendar.getInstance();
    String endMonth = null;
    if (currentMonth >= 1 && currentMonth <= 3) {
    c.set(Calendar.MONTH, 2);
    c.set(Calendar.DATE, 31);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
    c.set(Calendar.MONTH, 5);
    c.set(Calendar.DATE, 30);
    } else if (currentMonth >= 7 && currentMonth <= 9) {
    c.set(Calendar.MONTH,8);
    c.set(Calendar.DATE, 30);
    } else if (currentMonth >= 10 && currentMonth <= 12) {
    c.set(Calendar.MONTH, 11);
    c.set(Calendar.DATE, 31);
    }
    endMonth = format1.format(c.getTime()) + " 23:59:59";



    //20180403更新
    SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd");
    SimpleDateFormat format3=new SimpleDateFormat("yyyy-MM");
    SimpleDateFormat format=new SimpleDateFormat("yyyy");
    String thisyear =format.format(new Date());
    int year= Integer.parseInt(thisyear);
    /*日*/
    String today = format1.format(new Date());
    /*本周*/
    Calendar calendarW = Calendar.getInstance();
    calendarW.setTime(new Date());
    int dow = calendarW.get(Calendar.DAY_OF_WEEK) - 2;
    if (dow == -1) dow = 6;
    //本周最小日期
    calendarW.add(Calendar.DAY_OF_YEAR, -dow);
    String strDate = format1.format(calendarW.getTime())+ " 00:00:00";
    //本周最大日期
    calendarW.add(Calendar.DAY_OF_YEAR, 6);
    String strDate1 = format1.format(calendarW.getTime())+ " 23:59:59";
    //本月
    Calendar calendarM = Calendar.getInstance();
    calendarM.setTime(new Date());
    String month = format3.format(new Date());
    calendarM.set(calendarM.get(Calendar.YEAR), calendarM.get(Calendar.MONDAY), calendarM.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendarM.set(Calendar.DAY_OF_MONTH, calendarM.getActualMinimum(Calendar.DAY_OF_MONTH));
    String startMonth1 = format1.format(calendarM.getTime())+ " 00:00:00";
    calendarM.set(calendarM.get(Calendar.YEAR), calendarM.get(Calendar.MONDAY), calendarM.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendarM.set(Calendar.DAY_OF_MONTH, calendarM.getActualMaximum(Calendar.DAY_OF_MONTH));
    String endtMonth = format1.format(calendarM.getTime())+ " 23:59:59";

    List<Map<String, Object>> maxMonthList = systemService.findForJdbc("SELECT max(month) AS maxMonth FROM T_PDMIS_MONREPORT where status='2'", null);
    Date thismonth = format3.parse(maxMonthList.get(0).get("maxMonth").toString());
    Calendar calendarMM = Calendar.getInstance();
    calendarMM.setTime(thismonth);
    calendarMM.add(Calendar.MONTH,1);
    calendarMM.set(calendarMM.get(Calendar.YEAR), calendarMM.get(Calendar.MONDAY), calendarMM.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendarMM.set(Calendar.DAY_OF_MONTH, calendarMM.getActualMinimum(Calendar.DAY_OF_MONTH));
    String startMonth = format1.format(calendarMM.getTime())+ " 00:00:00";
    //今年第一条
    String startYear = thisyear+"-01-01 00:00:00";
    if(startMonth.contains(thisyear)){
    startYear=startMonth;
    }
    //季
    /*当前季度的开始时间*/
    Calendar calendar = Calendar.getInstance();
    int currentMonth = calendar.get(Calendar.MONTH)+1;
    String startSeason = null;
    String endSeason = null;
    if (currentMonth >= 1 && currentMonth <= 3) {
    calendar.set(Calendar.MONTH, 0);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
    calendar.set(Calendar.MONTH, 3);
    } else if (currentMonth >= 7 && currentMonth <= 9){
    calendar.set(Calendar.MONTH, 6);
    }else if (currentMonth >= 10 && currentMonth <= 12) {
    calendar.set(Calendar.MONTH, 9);
    }
    calendar.set(Calendar.DATE, 1);
    startSeason = format1.format(calendar.getTime()) + " 00:00:00";

    /*当前季度的结束时间*/
    Calendar c = Calendar.getInstance();
    if (currentMonth >= 1 && currentMonth <= 3) {
    c.set(Calendar.MONTH, 2);
    c.set(Calendar.DATE, 31);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
    c.set(Calendar.MONTH, 5);
    c.set(Calendar.DATE, 30);
    } else if (currentMonth >= 7 && currentMonth <= 9) {
    c.set(Calendar.MONTH,8);
    c.set(Calendar.DATE, 30);
    } else if (currentMonth >= 10 && currentMonth <= 12) {
    c.set(Calendar.MONTH, 11);
    c.set(Calendar.DATE, 31);
    }
    endSeason = format1.format(c.getTime()) + " 23:59:59";
    /*取本季第一天和没有月报的第一天 大的*/
    String startSeason2 = null;
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    Date dt1 = df.parse(startSeason);
    Date dt2 = df.parse(startMonth);
    if (dt1.getTime() > dt2.getTime()) {
    startSeason2=startSeason;
    }else{
    startSeason2=startMonth;
    }


  • 相关阅读:
    HNU 12906 Battleship
    codeforces 261 D
    HDU 4939 Stupid Tower Defense(dp)
    HDU 4941 Magical Forest(map映射+二分查找)杭电多校训练赛第七场1007
    HDU 4902 Nice boat 2014杭电多校训练赛第四场F题(线段树区间更新)
    【转载】使用Pandas对数据进行筛选和排序
    【转载】使用pandas进行数据清洗
    【转载】VC维的来龙去脉
    Python-时间操作
    Pandas-数据导入
  • 原文地址:https://www.cnblogs.com/xlj227/p/5798156.html
Copyright © 2020-2023  润新知