Список календаря и массива: как правильно назначить дату? ⇐ JAVA
Список календаря и массива: как правильно назначить дату?
ниже переменной LastDay не всегда содержит i+1 списка. Понятия не имею, почему. Я собираюсь представить дату из Java 8. Но все же мне хотелось бы знать, что происходит не так... Питер (очень новичок)
// организуем интервалы и разделяем их на годы ArrayList tmpIntervallList = новый ArrayList(); Календарь LastDay = Calendar.getInstance(); for (i = 0; i < DeliveryList.size() - 1; i++) { Log.d(TAG, "мои комментарии в журнале: Intervallanfang " + DeliveryList.get(i).getDatumasString() +" nächstes: " + DeliveryList.get(i+1).getDatumasString()); //Начало следующего интервалаl -1 — это последний день предшествующего интервала. LastDay.set(deliveryList.get(i+1).getYear(), DeliveryList.get(i+1).getMonth(), DeliveryList.get(i+1).getDay()); //отладка String tmp1String = String.format("%d/%d/%d", LastDay.get(Calendar.DAY_OF_MONTH), LastDay.get(Calendar.MONTH) + 1, LastDay.get(Календарь.ГОД)); Log.d(TAG, "мои комментарии в журнале: tmp последний день " + tmp1String ); LastDay.add(Календарь.ДАТА, -1); //отладка Строка tmpString = String.format("%d/%d/%d", LastDay.get(Calendar.DAY_OF_MONTH), LastDay.get(Calendar.MONTH) + 1, LastDay.get(Календарь.ГОД)); Log.d(TAG, "мои комментарии в журнале: конец интервала" + tmpString); интервал tmp2intervall = новый интервалl(deliveryList.get(i).getAmountFilled(), список доставки.get(i).getYear(), DeliveryList.get(i).getMonth(), список доставки.get(i).getDay(), LastDay.get(Календарь.ГОД), LastDay.get(Календарь.МЕСЯЦ), LastDay.get(Calendar.DAY_OF_MONTH)); tmpIntervallList.add(tmp2intervall); } И результат
Мои комментарии в журнале: Intervallanfang 01.01.2018, дата: 02.01.2018
мои комментарии в журнале: tmp последний день, 01.01.2018
Мои комментарии в журнале: конец интервала 31.12.2017
Мои комментарии в журнале: Intervallanfang 02.01.2018, дата: 06.01.2018
мои комментарии в журнале: tmp последний день, 01.01.2018
Мои комментарии в журнале: конец интервала 31.12.2017
Мои комментарии в журнале: Intervallanfang 06.01.2018, дата: 01.01.2019
мои комментарии в журнале: tmp последний день, 01.01.2019
комментарии в моем журнале: конец интервала 31.12.2018
Мои комментарии в журнале: Intervallanfang 01.01.2019, дата: 01.01.2020
мои комментарии в журнале: tmp последний день, 01.01.2020
комментарии в моем журнале: конец интервала 31.12.2019
Мои комментарии в журнале: Intervallanfang 01.01.2020, ноябрь: 06.01.2020
мои комментарии в журнале: tmp последний день, 01.01.2020
комментарии в моем журнале: конец интервала 31.12.2019
Мои комментарии в журнале: Intervallanfang 06.01.2020, дата: 01.02.2021
мои комментарии в журнале: tmp, последний день, 01.02.2021
комментарии в моем журнале: конец интервала 01.01.2021
по запросу еще немного исходного кода
publicinterval(int sumFilled, intyearBegin, intmonthBegin, int dayBegin, intyearEnd, intmonthEnd, int dayEnd) { начать = Calendar.getInstance(); конец = Calendar.getInstance(); this.setIntervall(yearBegin,monthBegin, dayBegin, Конец года, Конец месяца, Конец дня); this.amountFilled = суммаFilled; ....
public void setIntervall(int sumFilled, intyearBegin, int MonthBegin, int DayBegin, int YearEnd, int MonthEnd, Int DayEnd){ this.begin.set(yearBegin,monthBegin, dayBegin); this.end.set(yearEnd, MonthEnd, DayEnd); .....
ниже переменной LastDay не всегда содержит i+1 списка. Понятия не имею, почему. Я собираюсь представить дату из Java 8. Но все же мне хотелось бы знать, что происходит не так... Питер (очень новичок)
// организуем интервалы и разделяем их на годы ArrayList tmpIntervallList = новый ArrayList(); Календарь LastDay = Calendar.getInstance(); for (i = 0; i < DeliveryList.size() - 1; i++) { Log.d(TAG, "мои комментарии в журнале: Intervallanfang " + DeliveryList.get(i).getDatumasString() +" nächstes: " + DeliveryList.get(i+1).getDatumasString()); //Начало следующего интервалаl -1 — это последний день предшествующего интервала. LastDay.set(deliveryList.get(i+1).getYear(), DeliveryList.get(i+1).getMonth(), DeliveryList.get(i+1).getDay()); //отладка String tmp1String = String.format("%d/%d/%d", LastDay.get(Calendar.DAY_OF_MONTH), LastDay.get(Calendar.MONTH) + 1, LastDay.get(Календарь.ГОД)); Log.d(TAG, "мои комментарии в журнале: tmp последний день " + tmp1String ); LastDay.add(Календарь.ДАТА, -1); //отладка Строка tmpString = String.format("%d/%d/%d", LastDay.get(Calendar.DAY_OF_MONTH), LastDay.get(Calendar.MONTH) + 1, LastDay.get(Календарь.ГОД)); Log.d(TAG, "мои комментарии в журнале: конец интервала" + tmpString); интервал tmp2intervall = новый интервалl(deliveryList.get(i).getAmountFilled(), список доставки.get(i).getYear(), DeliveryList.get(i).getMonth(), список доставки.get(i).getDay(), LastDay.get(Календарь.ГОД), LastDay.get(Календарь.МЕСЯЦ), LastDay.get(Calendar.DAY_OF_MONTH)); tmpIntervallList.add(tmp2intervall); } И результат
Мои комментарии в журнале: Intervallanfang 01.01.2018, дата: 02.01.2018
мои комментарии в журнале: tmp последний день, 01.01.2018
Мои комментарии в журнале: конец интервала 31.12.2017
Мои комментарии в журнале: Intervallanfang 02.01.2018, дата: 06.01.2018
мои комментарии в журнале: tmp последний день, 01.01.2018
Мои комментарии в журнале: конец интервала 31.12.2017
Мои комментарии в журнале: Intervallanfang 06.01.2018, дата: 01.01.2019
мои комментарии в журнале: tmp последний день, 01.01.2019
комментарии в моем журнале: конец интервала 31.12.2018
Мои комментарии в журнале: Intervallanfang 01.01.2019, дата: 01.01.2020
мои комментарии в журнале: tmp последний день, 01.01.2020
комментарии в моем журнале: конец интервала 31.12.2019
Мои комментарии в журнале: Intervallanfang 01.01.2020, ноябрь: 06.01.2020
мои комментарии в журнале: tmp последний день, 01.01.2020
комментарии в моем журнале: конец интервала 31.12.2019
Мои комментарии в журнале: Intervallanfang 06.01.2020, дата: 01.02.2021
мои комментарии в журнале: tmp, последний день, 01.02.2021
комментарии в моем журнале: конец интервала 01.01.2021
по запросу еще немного исходного кода
publicinterval(int sumFilled, intyearBegin, intmonthBegin, int dayBegin, intyearEnd, intmonthEnd, int dayEnd) { начать = Calendar.getInstance(); конец = Calendar.getInstance(); this.setIntervall(yearBegin,monthBegin, dayBegin, Конец года, Конец месяца, Конец дня); this.amountFilled = суммаFilled; ....
public void setIntervall(int sumFilled, intyearBegin, int MonthBegin, int DayBegin, int YearEnd, int MonthEnd, Int DayEnd){ this.begin.set(yearBegin,monthBegin, dayBegin); this.end.set(yearEnd, MonthEnd, DayEnd); .....
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение