⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datecontrol.java

📁 本代码是一个权限管理系统源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
   */
  public static boolean before5(int startYear, int startMonth, int startDay, int startHour, int startMinute,
                        int endYear, int endMonth, int endDay, int endHour, int endMinute)
  {
    GregorianCalendar gc1 = new GregorianCalendar(startYear, startMonth, startDay, startHour, startMinute);
    GregorianCalendar gc2 = new GregorianCalendar(endYear, endMonth, endDay, endHour, endMinute);

    if( gc2.after(gc1) )
      return true;
    else
      return false;
  }


  /**判断给出的两个日期组合的前后是否正确
   * @author 刘凯
   * @param startYear 起始年
   * @param startMonth 起始月
   * @param startDay 起始日
   * @param endYear 终止年
   * @param endMonth 终止月
   * @param endDay 终止日
   * @return  若时间组合顺序正确,返回 true; 否则返回 false;
   */
  public static boolean before3(int startYear, int startMonth, int startDay,
                        int endYear, int endMonth, int endDay)
  {
    GregorianCalendar gc1 = new GregorianCalendar(startYear, startMonth, startDay);
    GregorianCalendar gc2 = new GregorianCalendar(endYear, endMonth, endDay);

    if( gc2.after(gc1) )
      return true;
    else
      return false;
  }


  /**判断给出的两个日期的先后是否正确.使用默认的格式进行时间的判断,格式:年-月-日
   * @author 刘凯
   * @param startTime 起始日期
   * @param endTime 终止日期
   * @return  若时间顺序正确,返回 true; 否则返回 false;
   */
  public static boolean beforeStr(String startTime, String endTime)
  {

    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    try
    {

      Date date1 = formatter.parse(startTime);
      Date date2 = formatter.parse(endTime);

      if( date2.after(date1) )
        return true;
      else
        return false;

    }
    catch(ParseException pe)
    {
      return false;
    }

  }



  /**判断给出的两个日期的先后是否正确.方法要求指定格式 format, 根据该参数可进行各种时间格式的
   *判断<br>
   * @author 刘凯
   * @param startTime 起始日期
   * @param endTime 终止日期
   * @param format 时间格式
   * @return  若时间顺序正确,返回 true; 否则返回 false;
   */
  public static boolean beforeStr(String startTime, String endTime, String format)
  {
    SimpleDateFormat formatter = new SimpleDateFormat(format);

    try
    {

      Date date1 = formatter.parse(startTime);
      Date date2 = formatter.parse(endTime);

      if( date2.after(date1) )
        return true;
      else
        return false;

    }
    catch(ParseException pe)
    {
      return false;
    }
  }



  /**获得本月月初时间
   * @author 龚毅
   * @return 本月月初的时间,格式:年-月-日
   */
  public static String getCurrentMonthStart()
  {
    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    gregorianCalendar.set(GregorianCalendar.DAY_OF_MONTH,1);

    String monthStart = formatter.format(gregorianCalendar.getTime());

    return monthStart;
  }



  /**获得本月月末时间
   * @author 刘凯
   * @return 本月月末的时间,格式:年-月-日
   */
  public static String getCurrentMonthEnd()
  {
    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    int maxiumDay = gregorianCalendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);

    gregorianCalendar.set(GregorianCalendar.DAY_OF_MONTH, maxiumDay);

    String monthEnd = formatter.format(gregorianCalendar.getTime());

    return monthEnd;
  }

  /**
   * 获得本周初时间
   */
  public static String getCurrentWeekStart()
  {
    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    gregorianCalendar.set(GregorianCalendar.DAY_OF_WEEK,2); //按中国人习惯以周一作为开始

    String monthStart = formatter.format(gregorianCalendar.getTime());

    return monthStart;
  }

  /**
   * 获得本周末的时间
   */
  public static String getCurrentWeekEnd()
  {
    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    int maxiumDay = gregorianCalendar.getActualMaximum(GregorianCalendar.DAY_OF_WEEK);
    maxiumDay--;   //按工作日习惯以周五作为结束

    gregorianCalendar.set(GregorianCalendar.DAY_OF_WEEK, maxiumDay);

    String weekEnd = formatter.format(gregorianCalendar.getTime());

    return weekEnd;

  }



  /**返回当天的起始时间
   * @author 刘团伟
   * @return 当天起始时间字符串
   */
  public static String getTodayStart()
  {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    String datetime = gregorianCalendar.get(GregorianCalendar.YEAR) + "-" +
                    ( gregorianCalendar.get(GregorianCalendar.MONTH) + 1 ) + "-" +
                      gregorianCalendar.get(GregorianCalendar.DATE) + " " +
                      "0:0:0";
    return  datetime;
  }


  /**返回当天的终止时间
   * @author 刘团伟
   * @return 当天终止时间字符串
   */
  public static String  getTodayEnd()
  {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();

    String datetime =   gregorianCalendar.get(GregorianCalendar.YEAR) + "-" +
                      ( gregorianCalendar.get(GregorianCalendar.MONTH) + 1 ) + "-" +
                        gregorianCalendar.get(GregorianCalendar.DATE) + " " +
                        "23:59:59";
    return   datetime;
 }


 public static String format(Date date)
 {
   String temp="";
   if(date==null) return temp;
   try
   {
     temp=new  java.text.SimpleDateFormat(FORMAT1).format(date);
   }
   catch(Exception e)
   {
     return temp;
   }

   return temp;
 }

 public static String format(GregorianCalendar gregorianCalendar)
 {
   String temp="";
   if(gregorianCalendar==null) return temp;

   Date date=gregorianCalendar.getTime();
   try
   {
     temp = new  java.text.SimpleDateFormat(FORMAT1).format(date);
   }
   catch(Exception e)
   {
     return temp;
   }
   return temp;
  }


  public static String format(Date date,String format)
  {
    String temp="";
    if(date==null) return temp;
    try
    {
      temp=new  java.text.SimpleDateFormat(format).format(date);
    }
    catch(Exception e)
    {
      return temp;
    }

    return temp;
  }

  public static String format(GregorianCalendar gregorianCalendar, String format)
  {
    String temp="";
    if(gregorianCalendar==null) return temp;

    Date date=gregorianCalendar.getTime();
    try
    {
      temp = new  java.text.SimpleDateFormat(format).format(date);
    }
    catch(Exception e)
    {
      return temp;
    }
    return temp;
  }


  public static String getDayBefore(String date)
  {
    String [] dates = date.split("-");

    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar calendar = new GregorianCalendar(
        Integer.parseInt( dates[0] ),
        Integer.parseInt( dates[1] )-1,
        Integer.parseInt( dates[2] )-1);

    return formatter.format(calendar.getTime());
  }


  public static String getFormatDate(String date)
  {
    date = date.substring(0, date.indexOf(" ") );
    String [] dates = date.split("-");

    SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);

    GregorianCalendar calendar = new GregorianCalendar(
        Integer.parseInt( dates[0] ),
        Integer.parseInt( dates[1] )-1,
        Integer.parseInt( dates[2] ));

    return formatter.format(calendar.getTime());
  }

  /**
   * 给定一个字符串,获得指定日期。指定日期格式为:年-月-日。
   * @param  String date
   * 返回值为 日期型
   * 作者: 邢杰
   */
public static  Date  getDateFromStr(String date){
  boolean flag=isLegalDate(date);
  SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
  if(flag){

    try {
      Date  date1=formatter.parse(date);
      return date1;
    }
    catch (ParseException ex) {
      return new Date(0,0,01);
    }

  }
  return new Date(0,0,01);
}

/**
 *给定一个字符串,获得指定日期。指定日期格式为:年-月-日 小时:分钟:秒。
 * @param  String datetime
 * 返回值 Date型
 * 作者: 邢杰
 */
public static  Date  getDateTimeFromStr(String datetime){
  boolean flag=isLegalDatetime(datetime);
  SimpleDateFormat formatter = new SimpleDateFormat(FORMAT4);
  if(flag){

    try {
      Date  date1=formatter.parse(datetime);
      return date1;
    }
    catch (ParseException ex) {
      return new Date(0,0,1);
    }
  }
  return new Date(0,0,1);
}

/**
 * 获得当前日期中的时间部分,格式为:年-月-日 小时:分钟:秒。
 * @param 无
 * 返回值 字符串型
 * 作者: 邢杰
 */

public static String getCurrentTime(){
  String datetime=getCurrentDate(FORMAT7);
  String time=datetime.substring(datetime.indexOf(" ")+1) ;
   return time;
}




//
 /**
 * 给出两个日期,结果返回在这两个日期之间的所有日期。两个参数的时间必须是 带 小时分秒的
 *     例如:2004-9-6 0:00:00
 * @param 无
 * 返回值 字符串型
 * 作者: 黄绪涛
 */

public Vector getTimeSect(String format,String format1)
   {

     Date date = new Date();
     date = getDateTimeFromStr(format);
     long longDate = date.getTime();
     Date date1 = new Date();
     date1 = getDateTimeFromStr(format1);
     long longDate1 = date1.getTime();
     Vector vector = new Vector();

     if (longDate < longDate1) {
       long c = (longDate1 - longDate) / (24*60* 60 * 1000);
       int b = Integer.parseInt(c + "");
       String[] str = new String[b + 1];
       for (int i = 0; i <= b; i++) {
         if (i == 0) {
           longDate = longDate;
         }
         else {
           longDate = longDate + ( 24*60*60 * 1000);
         }
         date.setTime(longDate);
         String TimeSect = format(date, FORMAT1);
        // str[i] = TimeSect;
        String str5=TimeSect;
         vector.add(str5);
       }
   }else{

     if (format.trim().equals(format1.trim())) {
       String d = format(date, FORMAT1);
         vector.addElement(d);

     }

      }

   return vector;

 }

 /**
  * 给出两个日期,结果返回在这两个日期之间的所有日期和小时数。两个参数的时间必须是 带 小时分秒的
  *     例如:2004-9-6 0:00:00
  * @param String format  开始的时间   2004-9-6 0:00:00
  * @param String format1  结束的时间   2004-9-7 0:00:00
  * @param int bhour  开始的小时   0-23之间的数字‘
  * @param int ehour  结束的小时   0-23之间的数字
  * 返回值 字符串型
  * 作者: 黄绪涛
  */

 public Vector getTimeSect(String format,String format1,int bhour,int ehour)
   {

     Date date = new Date();
     date = getDateTimeFromStr(format);
     long longDate = date.getTime();
     Date date1 = new Date();
     date1 = getDateTimeFromStr(format1);
     long longDate1 = date1.getTime();
     Vector vector = new Vector();
     Vector vec=new Vector();

     if (longDate < longDate1) {
       long c = (longDate1 - longDate) / (24*60* 60 * 1000);
       int b = Integer.parseInt(c + "");
       String[] str = new String[b + 1];
       for (int i = 0; i <= b; i++) {
         if (i == 0) {
           longDate = longDate;
         }
         else {
           longDate = longDate + ( 24*60*60 * 1000);
         }
         date.setTime(longDate);
         String TimeSect = format(date, FORMAT1);
        // str[i] = TimeSect;
//        String str5=TimeSect;
//        System.out.println("TimeSect:="+TimeSect);
         vector.add(TimeSect);
       }
       if(format.trim().equals(format1.trim())){
          String d = (String) vector.get(0);
       for (int i = bhour; i < ehour; i++) {
         String time=d+" "+i+":00";
         vec.addElement(time);
       }
       }else{
         for (int i = 0; i < vector.size(); i++) {
           String d = (String) vector.get(i);
           if(i==0){
             for (int a =bhour; a < 24; a++) {
               String time=d+" "+a+":00";
             vec.addElement(time);
             }
           }else if (i == vector.size()-1) {
             for (int a = 0; a <=ehour; a++) {
               String time = "";
               if (a == 0) time = d + " " + "0:00";
               else
                 time = d + " " + a + ":00";
               vec.addElement(time);
             }
           }
           else {
             for (int a = 0; a < 24; a++) {
               String time = "";
               if (a == 0) time = d + " " + "0:00";
               else
                 time = d + " " + a + ":00";
               vec.addElement(time);
             }
            }
         }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -