zoukankan      html  css  js  c++  java
  • 获取当天的前一天,本周,本月,本季度的起止日期

    /*本周*/
    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;
    }


  • 相关阅读:
    ReSharper.8.0.14.856注册码
    asp.net 301重定向代码
    WebResource.axd 404 错误
    【原创】asp.net导出word 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a
    C#操作word或excel及水晶报表,检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 80070005
    Repository 设计模式介绍
    将15位身份证转换成18位
    清理数据库木马文件
    Oracle的创建表空间及用户
    使用python脚本执行地理处理工具
  • 原文地址:https://www.cnblogs.com/xlj227/p/5798156.html
Copyright © 2011-2022 走看看