判断当前时间是否在限制时间段之内

  1. /** 
  2.  * 判断当前时间是否在限制时间段之内(是:返回true,否:返回false) 
  3.  *  
  4.  * @return 
  5.  */  
  6. public static boolean isLimitTime() {  
  7.     boolean bool = false;  
  8.     Date currentTime = com.born.sys.util.date.DateUtil.getDateHHObject();  
  9.     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  10.     SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");  
  11.     String currentDateStr = sdf.format(currentTime);  
  12.     String day = currentDateStr.substring(810);  
  13.     String monthEndDay = DateUtil.getEndDateOfMonth(sdf1  
  14.             .format(currentTime));  
  15.     if ("01".equals(day)) {  
  16.         bool = true;  
  17.     } else if ("02".equals(day)) {  
  18.         String timeTemp = currentDateStr.substring(010) + " 09:00:00";  
  19.         try {  
  20.             Date endTime = sdf.parse(timeTemp);  
  21.             long interval = (currentTime.getTime() - endTime.getTime()) / 1000;// 秒  
  22.             if (interval < 0) {  
  23.                 bool = true;  
  24.             }  
  25.         } catch (ParseException e) {  
  26.             e.printStackTrace();  
  27.         }  
  28.     } else {  
  29.         if (day.equals(monthEndDay.subSequence(810))) {  
  30.             String timeTemp = monthEndDay + " 22:00:00";  
  31.             try {  
  32.                 Date endTime = sdf.parse(timeTemp);  
  33.                 long interval = (currentTime.getTime() - endTime.getTime()) / 1000;// 秒  
  34.                 if (interval > 0) {  
  35.                     bool = true;  
  36.                 }  
  37.             } catch (ParseException e) {  
  38.                 e.printStackTrace();  
  39.             }  
  40.         }  
  41.     }  
  42.     return bool;  
  43. }  
  44.   
  45. /** 
  46.  * 获取今天日期是1号还是2号或者月末最后一天, 1日:1 2日:2 月末:3 
  47.  *  
  48.  * @return 
  49.  */  
  50. public static String getDayLimit() {  
  51.     String reStr = "0";  
  52.     Date currentTime = com.born.sys.util.date.DateUtil.getDateHHObject();  
  53.     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  54.     SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");  
  55.     String currentDateStr = sdf.format(currentTime);  
  56.     String day = currentDateStr.substring(810);  
  57.     String monthEndDay = DateUtil.getEndDateOfMonth(sdf1  
  58.             .format(currentTime));  
  59.     if ("01".equals(day)) {  
  60.         reStr = "1";  
  61.     } else if ("02".equals(day)) {  
  62.         reStr = "2";  
  63.     } else {  
  64.         if (day.equals(monthEndDay.subSequence(810))) {  
  65.             reStr = "3";  
  66.         }  
  67.     }  
  68.     return reStr;  
  69. }  
  70.   
  71. /** 
  72.  * 获取一个月的最后一天 
  73.  *  
  74.  * @param dat 
  75.  * @return 
  76.  */  
  77. public static String getEndDateOfMonth(String date) {// yyyy-MM-dd  
  78.     String str = date.substring(08);  
  79.     String month = date.substring(57);  
  80.     int mon = Integer.parseInt(month);  
  81.     if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8  
  82.             || mon == 10 || mon == 12) {  
  83.         str += "31";  
  84.     } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {  
  85.         str += "30";  
  86.     } else {  
  87.         if (isLeapYear(date)) {  
  88.             str += "29";  
  89.         } else {  
  90.             str += "28";  
  91.         }  
  92.     }  
  93.     return str;  
  94. }  
  95.   
  96. /** 
  97.  * 判断是否润年 
  98.  *  
  99.  * @param ddate 
  100.  * @return 
  101.  */  
  102. public static boolean isLeapYear(String ddate) {  
  103.     Date d = com.born.sys.util.date.DateUtil.getDateHHObject();  
  104.     GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();  
  105.     gc.setTime(d);  
  106.     int year = gc.get(Calendar.YEAR);  
  107.     if ((year % 400) == 0)  
  108.         return true;  
  109.     else if ((year % 4) == 0) {  
  110.         if ((year % 100) == 0)  
  111.             return false;  
  112.         else  
  113.             return true;  
  114.     } else  
  115.         return false;  


boolean after(Date when) 
          测试此日期是否在指定日期之后。 
 boolean before(Date when) 
          测试此日期是否在指定日期之前。
 
把日期在你要的时间段内做比较就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值