您的位置:首页 > 其它

计算特定日期的前一天和后一天,根据输入的月,日获取该月日属于什么季节

2016-10-31 15:43 746 查看
/**

     * 获取特定日期的后一天

     * @param strDate

     * @return

     * @throws ParseException

     */

      public static String getTomorrow(String strDate) throws ParseException{

          Calendar c = Calendar.getInstance();

          Date date=null;

          try {

          date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);

          } catch (ParseException e) {

          e.printStackTrace();

          }

          c.setTime(date);

          int day=c.get(Calendar.DATE);

          c.set(Calendar.DATE,day+1);

          String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());

          return dayAfter;

    }

     

      /**

       * 获取特定日期的前一天

       * @param strDate

       * @return

       */

      public static String getYesterday(String strDate){

        Calendar c = Calendar.getInstance();

        Date date=null;

        try {

        date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);

        } catch (ParseException e) {

        e.printStackTrace();

        }

        c.setTime(date);

        int day=c.get(Calendar.DATE);

        c.set(Calendar.DATE,day-1);

        String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());

        return dayBefore;

        }

      

      /**

       * 根据输入的月份,日期获取改月日属于什么季节

       * @param monthIn

       * @param dayIn

       * @return
       */

 SEASON:

               1、早春(2.1-3.15)

                2、春季(3.16-5.31)

                3、夏季(6.1-9.15)

                4、秋季(9.16-.11.15)

                5、冬季(11.16-1.31)

      public static String getSeasonValue(int monthIn, int dayIn) {

          String result = "";

          String month = "";

          String day = "";

          if (monthIn < 10)

              month = "0" + String.valueOf(monthIn);

          else

              month = String.valueOf(monthIn);

          if (dayIn < 10)

              day = "0" + String.valueOf(dayIn);

          else

              day = String.valueOf(dayIn);

          String date = month + day;

          if (date.compareTo("0201") >= 0 && date.compareTo("0315") <= 0)

              result = "1";

          else if (date.compareTo("0316") >= 0 && date.compareTo("0531") <= 0)

              result = "2";

          else if (date.compareTo("0601") >= 0 && date.compareTo("0915") <= 0)

              result = "3";

          else if (date.compareTo("0916") >= 0 && date.compareTo("1115") <= 0)

              result = "4";

          else if ((date.compareTo("1116") >= 0 && date.compareTo("1231") <= 0)

                  || (date.compareTo("0101") >= 0 && date.compareTo("0131") <= 0))

              result = "5";

          else

              result = "Error!";// 输入的的日期格式有错误

          return result;
      }

测试main方法

     public static void main(String[] args) throws ParseException {

        System.out.println(DateUtils.getTomorrow("2016-10-31"));

        System.out.println(DateUtils.getYesterday("2016-10-31"));

        Calendar cal = Calendar.getInstance();

        int day = cal.get(Calendar.DATE);

        int month = cal.get(Calendar.MONTH) + 1;

        System.out.println(getSeasonValue(month, day));

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐