java 获取本年 本月 本周开始时间(在网上搜的周日被定义为一周的开始,修改后周日为一周的结束)

来源:互联网 发布:mac appstore 太慢 编辑:程序博客网 时间:2024/05/02 02:17
 

private int weeks = 0;
 // 获得本周一的日期
  public String getMondayOFWeek(String bs) {
   weeks = 0;
   int mondayPlus = this.getMondayPlus();
   GregorianCalendar currentDate = new GregorianCalendar();
   currentDate.add(GregorianCalendar.DATE, mondayPlus);
   Date monday = currentDate.getTime();
   DateFormat df = DateFormat.getDateInstance();
   String preMonday = df.format(monday);
  
   String[] arr_time=preMonday.toString().split("-");
   if(arr_time[1].length()==1){
    arr_time[1]="0"+arr_time[1];
   }if(arr_time[2].length()==1){
    arr_time[2]="0"+arr_time[2];
   }
   //ls add
   if(bs.equals("1")){
    preMonday=arr_time[0]+"-"+arr_time[1]+"-"+arr_time[2];
    preMonday=del_fh(preMonday)+"000000";

   }else if(bs.equals("0")){
    preMonday=arr_time[0]+"/"+arr_time[1]+"/"+arr_time[2];
     preMonday=preMonday+" 00:00:00";

   }  
  
   System.out.println("本周第一天===="+preMonday);
   return preMonday;
  }
  // 获得当前日期与本周日相差的天数
  private int getMondayPlus() {
   Calendar cd = Calendar.getInstance();
   // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
   int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1; // 因为按中国礼拜一作为第一天所以这里减1
   //2011.12.25 ls add
   if (dayOfWeek == 0) {//此处为本人添加
    dayOfWeek=7;
    }
   if (dayOfWeek == 1) {
    return 0;
   } else {
    return 1 - dayOfWeek;
   }
  }
 
 
   // 获取当月第一天
  public String getFirstDayOfMonth(String bs) {
   String str = "";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

   Calendar lastDate = Calendar.getInstance();
   lastDate.set(Calendar.DATE, 1);// 设为当前月的1号
   str = sdf.format(lastDate.getTime());
   if(bs.equals("1")){
    str=del_fh(str);
    str=str+"000000";

   }else if(bs.equals("0")){  
     str=str+" 00:00:00";
   }
   System.out.println("本月第一天===="+str);
   return str;
  }

 
   // 获得本年第一天的日期
  public String getCurrentYearFirst(String bs) {
   int yearPlus = this.getYearPlus();
   GregorianCalendar currentDate = new GregorianCalendar();
   currentDate.add(GregorianCalendar.DATE, yearPlus);
  
   System.out.println("1111本年时间----id三个阜阳市--currentDate===="+currentDate);
  
   Date yearDay = currentDate.getTime();
   System.out.println("2222本年时间----id三个阜阳市--yearDay===="+yearDay);
   DateFormat df = DateFormat.getDateInstance();
   System.out.println("33333本年时间----id三个阜阳市--df===="+df);
   String preYearDay = df.format(yearDay);
   System.out.println("4444444本年时间----id三个阜阳市--preYearDay===="+preYearDay);
   String[] arr_time=preYearDay.toString().split("-");
  
   if(arr_time[1].length()==1){
    arr_time[1]="0"+arr_time[1];
   }if(arr_time[2].length()==1){
    arr_time[2]="0"+arr_time[2];
   }
  
  
  if(bs.equals("1")){
   preYearDay=arr_time[0]+"-"+arr_time[1]+"-"+arr_time[2];
   preYearDay=del_fh(preYearDay)+"000000";
  }else if(bs.equals("0")){
   preYearDay=arr_time[0]+"/"+arr_time[1]+"/"+arr_time[2];
   preYearDay=preYearDay+" 00:00:00";
  }
  
  
   System.out.println("本年第一天===="+preYearDay);
   return preYearDay;
  }
 
  private int getYearPlus() {
    Calendar cd = Calendar.getInstance();
    int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);// 获得当天是一年中的第几天
    cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天
    cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。
    int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
    if (yearOfNumber == 1) {
     return -MaxYear;
    } else {
     return 1 - yearOfNumber;
    }
 }
 
 // 获取当天开始时时间
  public String getNowdayTime(String bs) {
  String re_time="";
  Date date = new Date();
   SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd/EEEE");
   String currentdata = f.format(date);
   String[] temp = currentdata.split("/");
   //re_time=temp[0]+temp[1]+temp[2]+"000000";
   
   if(bs.equals("1")){
     re_time=temp[0]+temp[1]+temp[2]+"000000";
    }else if(bs.equals("0")){
     re_time=temp[0]+"/"+temp[1]+"/"+temp[2]+" 00:00:00";
    // preYearDay=preYearDay+" 00:00:00";
    }
   
  System.out.println("返回中的当天开始时间==="+re_time);
  return re_time;
  }
 
 // 获取当天此时时间
  public String getNowTime(String bs) {
  String re_time="";
  re_time=fun_back_time_newday();
  //re_time=del_fh(re_time);
  if(bs.equals("1")){
   re_time=del_fh(re_time);
   }else if(bs.equals("0")){
   // re_time=re_time;
   // preYearDay=preYearDay+" 00:00:00";
   }
   return re_time;
  }

  public String fun_back_time_newday(){//ls 2011.08.24
        java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date currentTime = new Date();//得到当前系统时间
        String str_date1 = formatter.format(currentTime); //将日期时间格式化
        String fjllsid = str_date1.toString(); //将Date型日期时间转换成字符串形式
        return fjllsid;
  }
 
 
  public String del_fh(String re_time){
   String back_time="";
   back_time=re_time.toString().replaceAll("/","").replaceAll("-","").replaceAll(" ","").replaceAll(":",""); 
   return back_time;
  }