求解,需要将2008-12-15这个日期中2008年的第一天和最后一天取出,12月的第一天和最后一天取出

img

package com.gyee.frame.service.redar;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class User {
    /**

     * 获取今天

     * @return String

     * */

    public static String getToday(){
        return new SimpleDateFormat("yyyy-MM-dd").format(new Date());

    }


    /**

     * 获取昨天

     * @return String

     * */

    public static String getYestoday(){
        Calendar cal=Calendar.getInstance();

        cal.add(Calendar.DATE,-1);

        Date time=cal.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(time);

    }

    /**

     * 获取本月开始日期

     * @return String

     * **/

    public static String getMonthStart(){
        Calendar cal=Calendar.getInstance();

        cal.add(Calendar.MONTH, 0);

        cal.set(Calendar.DAY_OF_MONTH, 1);

        Date time=cal.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 00:00:00";

    }

    /**

     * 获取本月最后一天

     * @return String

     * **/

    public static String getMonthEnd(){
        Calendar cal=Calendar.getInstance();

        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));

        Date time=cal.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 23:59:59";

    }

    /**

     * 获取本周的第一天

     * @return String

     * **/

    public static String getWeekStart(){
        Calendar cal=Calendar.getInstance();

        cal.add(Calendar.WEEK_OF_MONTH, 0);

        cal.set(Calendar.DAY_OF_WEEK, 2);

        Date time=cal.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 00:00:00";

    }

    /**

     * 获取本周的最后一天

     * @return String

     * **/

    public static String getWeekEnd(){
        Calendar cal=Calendar.getInstance();

        cal.set(Calendar.DAY_OF_WEEK, cal.getActualMaximum(Calendar.DAY_OF_WEEK));

        cal.add(Calendar.DAY_OF_WEEK, 1);

        Date time=cal.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 23:59:59";

    }

    /**

     * 获取本年的第一天

     * @return String

     * @param splitdata**/

    public static String getYearStart(String[] splitdata){
        return new SimpleDateFormat("yyyy").format(new Date())+"-01-01";

    }

    /**

     * 获取本年的最后一天

     * @return String

     * @param splitdata**/

    public static String getYearEnd(String[] splitdata){
        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.MONTH,calendar.getActualMaximum(Calendar.MONTH));

        calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

        Date currYearLast = calendar.getTime();

        return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast)+" 23:59:59";

    }

}


    String s = "2018-12-15";

    //月份
    DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parseDate(s));
    DateTime endMonth = DateUtil.endOfMonth(DateUtil.parseDate(s));
    //年份
    DateTime beginYear = DateUtil.beginOfYear(DateUtil.parseDate(s));
    DateTime endYear = DateUtil.endOfYear(DateUtil.parseDate(s));

    System.out.println(DateUtil.format(beginMonth, "yyyy-MM-dd"));
    System.out.println(DateUtil.format(endMonth, "yyyy-MM-dd"));

    System.out.println(DateUtil.format(beginYear, "yyyy-MM-dd"));
    System.out.println(DateUtil.format(endYear, "yyyy-MM-dd"));

运行结果
2018-12-01
2018-12-31

2018-01-01
2018-12-31

但是啥

import cn.hutool.core.date.DateUtil;直接用hutool工具类吧.