java取当前周期、月初至月末、季度初至季度末日期。

一、
  1. Calendar calendar = new GregorianCalendar();  
  2.     // 1. 当前登陆日期的周一至周五的日期 比如 现在是2012-06-11 周一是2012-06-11 周五就是 2012-06-15。  
  3.         calendar.set(Calendar.DAY_OF_WEEK, 2);  
  4.         System.out.println("登录日期的周一:" + print(calendar.getTime()));  
  5.         // 2.星期五,第六天s  
  6.         calendar.set(Calendar.DAY_OF_WEEK, 6);  
  7.         System.out.println("登录日期的周五:" + print(calendar.getTime()));  
  8.         // 3.当前月的第一天  
  9.         calendar.set(Calendar.DAY_OF_MONTH, 1);  
  10.         System.out.println("当前月的第一天:" + print(calendar.getTime()));  
  11.         // 4.当前月的最后一天  
  12.         calendar.add(Calendar.MONTH, 1);  
  13.         calendar.set(Calendar.DAY_OF_MONTH, 0);  
  14.         System.out.println("当前月的最后一天:" + print(calendar.getTime()));  
  15.   
  16.         // 季度初  
  17.         calendar.setTime(new Date());  
  18.         int month = getQuarterInMonth(calendar.get(Calendar.MONTH), true);  
  19.         calendar.set(Calendar.MONTH, month);  
  20.         calendar.set(Calendar.DAY_OF_MONTH, 1);  
  21.         System.out.println("当季度的第一天:" + print(calendar.getTime()));  
  22.         // 季度末  
  23.         calendar.setTime(new Date());  
  24.         month = getQuarterInMonth(calendar.get(Calendar.MONTH), false);  
  25.         calendar.set(Calendar.MONTH, month + 1);  
  26.         calendar.set(Calendar.DAY_OF_MONTH, 0);  
  27.         System.out.println("当前时间的季度末:" + print(calendar.getTime()));  
  28.     }  
  29.   
  30.     private static String print(Date d) {  
  31.         DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  32.         return df.format(d);  
  33.     }  
  34.   
  35.     // 返回第几个月份,不是几月  
  36.     // 季度一年四季, 第一季度:2月-4月, 第二季度:5月-7月, 第三季度:8月-10月, 第四季度:11月-1月  
  37.     private static int getQuarterInMonth(int month, boolean isQuarterStart) {  
  38.         int months[] = { 14710 };  
  39.         if (!isQuarterStart) {  
  40.             months = new int[] { 36912 };  
  41.         }  
  42.         if (month >= 2 && month <= 4)  
  43.             return months[0];  
  44.         else if (month >= 5 && month <= 7)  
  45.             return months[1];  
  46.         else if (month >= 8 && month <= 10)  
  47.             return months[2];  
  48.         else  
  49.             return months[3];  
  50.     } 

二、

  1. /** 
  2.      * 获取指定日期所在周的周一 
  3.      * @Methods Name getMonday 
  4.      * @return Date 
  5.      */  
  6.     public Date getMonday(Date date){  
  7.         Calendar cDay = Calendar.getInstance();     
  8.         cDay.setTime(date);     
  9.         cDay.set(Calendar.DAY_OF_WEEK, 2);//老外将周日定位第一天,周一取第二天  
  10.         return cDay.getTime();     
  11.     }  
  12.     /** 
  13.      * 获取指定日期所在周日 
  14.      * @Methods Name getSunday 
  15.      * @return Date 
  16.      */  
  17.     public Date getSunday(Date date){  
  18.         Calendar cDay = Calendar.getInstance();     
  19.         cDay.setTime(date);  
  20.         if(Calendar.DAY_OF_WEEK==cDay.getFirstDayOfWeek()){ //如果刚好是周日,直接返回  
  21.             return date;  
  22.         }else{//如果不是周日,加一周计算  
  23.             cDay.add(Calendar.DAY_OF_YEAR, 7);  
  24.             cDay.set(Calendar.DAY_OF_WEEK, 1);  
  25.             System.out.println(cDay.getTime());  
  26.             return cDay.getTime();  
  27.         }    
  28.     }  
  29.     /** 
  30.      * 得到本月第一天的日期 
  31.      * @Methods Name getFirstDayOfMonth 
  32.      * @return Date 
  33.      */  
  34.     public Date getFirstDayOfMonth(Date date)   {     
  35.         Calendar cDay = Calendar.getInstance();     
  36.         cDay.setTime(date);  
  37.         cDay.set(Calendar.DAY_OF_MONTH, 1);  
  38.         System.out.println(cDay.getTime());  
  39.         return cDay.getTime();     
  40.     }     
  41.     /** 
  42.      * 得到本月最后一天的日期 
  43.      * @Methods Name getLastDayOfMonth 
  44.      * @return Date 
  45.      */  
  46.     public Date getLastDayOfMonth(Date date)   {     
  47.         Calendar cDay = Calendar.getInstance();     
  48.         cDay.setTime(date);  
  49.         cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMaximum(Calendar.DAY_OF_MONTH));  
  50.         System.out.println(cDay.getTime());  
  51.         return cDay.getTime();     
  52.     }  
  53.     /** 
  54.      * 得到本季度第一天的日期 
  55.      * @Methods Name getFirstDayOfQuarter 
  56.      * @return Date 
  57.      */  
  58.     public Date getFirstDayOfQuarter(Date date)   {     
  59.         Calendar cDay = Calendar.getInstance();     
  60.         cDay.setTime(date);  
  61.         int curMonth = cDay.get(Calendar.MONTH);  
  62.         if (curMonth >= Calendar.JANUARY && curMonth <= Calendar.MARCH){    
  63.             cDay.set(Calendar.MONTH, Calendar.JANUARY);  
  64.         }  
  65.         if (curMonth >= Calendar.APRIL && curMonth <= Calendar.JUNE){    
  66.             cDay.set(Calendar.MONTH, Calendar.APRIL);  
  67.         }  
  68.         if (curMonth >= Calendar.JULY && curMonth <= Calendar.AUGUST) {    
  69.             cDay.set(Calendar.MONTH, Calendar.JULY);  
  70.         }  
  71.         if (curMonth >= Calendar.OCTOBER && curMonth <= Calendar.DECEMBER) {    
  72.             cDay.set(Calendar.MONTH, Calendar.OCTOBER);  
  73.         }  
  74.         cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMinimum(Calendar.DAY_OF_MONTH));  
  75.         System.out.println(cDay.getTime());  
  76.         return cDay.getTime();     
  77.     }  
  78.     /** 
  79.      * 得到本季度最后一天的日期 
  80.      * @Methods Name getLastDayOfQuarter 
  81.      * @return Date 
  82.      */  
  83.     public Date getLastDayOfQuarter(Date date)   {     
  84.         Calendar cDay = Calendar.getInstance();     
  85.         cDay.setTime(date);  
  86.         int curMonth = cDay.get(Calendar.MONTH);  
  87.         if (curMonth >= Calendar.JANUARY && curMonth <= Calendar.MARCH){    
  88.             cDay.set(Calendar.MONTH, Calendar.MARCH);  
  89.         }  
  90.         if (curMonth >= Calendar.APRIL && curMonth <= Calendar.JUNE){    
  91.             cDay.set(Calendar.MONTH, Calendar.JUNE);  
  92.         }  
  93.         if (curMonth >= Calendar.JULY && curMonth <= Calendar.AUGUST) {    
  94.             cDay.set(Calendar.MONTH, Calendar.AUGUST);  
  95.         }  
  96.         if (curMonth >= Calendar.OCTOBER && curMonth <= Calendar.DECEMBER) {    
  97.             cDay.set(Calendar.MONTH, Calendar.DECEMBER);  
  98.         }  
  99.         cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMaximum(Calendar.DAY_OF_MONTH));  
  100.         System.out.println(cDay.getTime());  
  101.         return cDay.getTime();     
  102.     } 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值