根据给定日期判断上一旬的开始结束日期

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 
 6 /**
 7  * 日期工具
 8  * @author hp
 9  *
10  */
11 public class DateUtil {
12 
13     public static void main(String[] args) {
14         try {
15             String[] xunArr = getLastXun(new Date());
16             System.out.println(xunArr[0] + "," + xunArr[1]);
17         } catch (Exception e) {
18             e.printStackTrace();
19         }
20     }
21     
22     /**
23      * 根据给定日期判断上一旬的开始结束日期
24      * @param nowDate
25      * @return
26      * @throws ParseException
27      */
28     public static String[] getLastXun(Date nowDate) throws ParseException{
29         //存放上旬开始结束日期
30         String[] xunArr = new String[2];
31         
32         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
33         SimpleDateFormat monthFormat = new SimpleDateFormat("yyyyMM");
34         SimpleDateFormat dayFormat = new SimpleDateFormat("dd");
35         
36         int day = Integer.parseInt(dayFormat.format(nowDate));
37         if(day <= 10){
38             //如果是上旬,查找上个月的下旬
39             Calendar calendar = Calendar.getInstance();
40             calendar.add(Calendar.MONTH, -1);
41             xunArr[0] = monthFormat.format(calendar.getTime())+"21";
42             
43             calendar.setTime(format.parse((monthFormat.format(nowDate)+"01")));
44             calendar.add(Calendar.DATE, -1);
45             xunArr[1] = format.format(calendar.getTime());
46         }else if(day <= 20){
47             //如果是中旬,查找上旬
48             xunArr[0] = monthFormat.format(nowDate)+"01";
49             xunArr[1] = monthFormat.format(nowDate)+"10";
50         }else{
51             //如果是下旬,查找中旬
52             xunArr[0] = monthFormat.format(nowDate)+"11";
53             xunArr[1] = monthFormat.format(nowDate)+"20";
54         }
55         
56         return xunArr;
57     }
58 }

 

posted @ 2016-04-10 17:53  尚荣伊翁  阅读(645)  评论(0编辑  收藏  举报