Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java日期/日历获取最后四分之一最后日期_Java_Date_Calendar - Fatal编程技术网

从Java日期/日历获取最后四分之一最后日期

从Java日期/日历获取最后四分之一最后日期,java,date,calendar,Java,Date,Calendar,我想从Java日期/日历类中获取最后一个季度的最后一个日期 例如: If current date = 3rd Oct Lat Quater Last Date : 30th Sept. 我可以使用date.getMonth()方法获得相同的结果,但由于这些方法都是经过了腐蚀的,我想知道是否有更好的方法来实现相同的结果 对于日期操作,应使用日历。这可能不是最有效的方法,但它可以解决您的问题: public Date calculateLastDayOfLastQuarter(Date da

我想从Java日期/日历类中获取最后一个季度的最后一个日期

例如:

If current date = 3rd Oct

Lat Quater Last Date : 30th Sept. 

我可以使用date.getMonth()方法获得相同的结果,但由于这些方法都是经过了腐蚀的,我想知道是否有更好的方法来实现相同的结果

对于日期操作,应使用
日历
。这可能不是最有效的方法,但它可以解决您的问题:

public Date calculateLastDayOfLastQuarter(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
    int year = calendar.get(Calendar.YEAR);

    try {
        switch (calendar.get(Calendar.MONTH)) {
        case Calendar.JANUARY:
        case Calendar.FEBRUARY:
        case Calendar.MARCH:
            return sdf.parse("31.12." + (year - 1));
        case Calendar.APRIL:
        case Calendar.MAY:
        case Calendar.JUNE:
            return sdf.parse("31.03." + year);
        case Calendar.JULY:
        case Calendar.AUGUST:
        case Calendar.SEPTEMBER:
            return sdf.parse("30.06." + year);
        case Calendar.OCTOBER:
        case Calendar.NOVEMBER:
        case Calendar.DECEMBER:
            return sdf.parse("30.09." + year);
        default:
            return null;
        }
    } catch (ParseException e) {
        e.printStackTrace();
        return null;
    }
}

请写一张便条,说明投票失败的原因,我没有发现同样的问题。谢谢,我正在寻找这个。