Рассчитать разницу кварталов года в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Рассчитать разницу кварталов года в Java

Сообщение Anonymous »

У меня есть вариант использования, где мне нужно ввести начальную четверть и конечную четверть в виде двух входных данных в виде строки. Например, я предоставлю 201501 (начало квартала) и 201602 (конец квартала) в качестве входных данных для двух кварталов. Этот метод выдаст выходные данные на карте как предыдущий начальный квартал и конечный квартал, как следующий
предыдущий начальный квартал как 201303
предыдущий конечный квартал как 201404
т.е. сначала разница кварталов между двумя периодами времени будет быть рассчитаны. Тогда предыдущий последний квартал будет равен 1 кварталу, предшествующему входному начальному кварталу, и будет получена разница кварталов между двумя входными данными, а затем она будет вычтена из предыдущего последнего квартала, чтобы получить предыдущий начальный квартал.

Код: Выделить всё

public static Map getPreviousQuarter( String  start,String end){

String prevStartQuarter=    calulatePreviousQuarter(start);
String prevEndQuarter=calulatePreviousQuarter(end);
Map returnMap = new HashMap();
returnMap.put("previousStartQuarter", prevStartQuarter);
returnMap.put("previousEndQuarter",prevEndQuarter);
System.out.println("the reurnmap is" +returnMap);
return returnMap;

}

private static String calulatePreviousQuarter(String input)
{
int yearVal=0;

String year = input.substring(0,4);
String quarter = input.substring(4);
if(quarter.equalsIgnoreCase("01"))
{
yearVal =  Integer.valueOf(year)-1;
quarter ="04";
}
else
{
yearVal = Integer.valueOf(year);
switch(quarter)
{
case "02":
quarter ="01";
break;
case "03":
quarter ="02";
break;
case "04":
quarter ="03";
break;
default:
break;

}
}

return String.valueOf(yearVal)+quarter;
}
INPUTOUTPUT
Ввод
Начало строки 201501Конец строки 201602
Таким образом, разница в кварталах равна 6
Ожидаемый результат
Сопоставление с ключом и значениями как
previousStartQuarter 201404
previousEndQuarter 201303

Подробнее здесь: https://stackoverflow.com/questions/328 ... ce-in-java

Вернуться в «JAVA»