private void calculate() { produktInfos.clear(); dataShow.clear(); int year1 = year1ChoiceBox.getValue().intValue(); int year2 = year2ChoiceBox.getValue().intValue(); LocalDate von1 = now.withYear(year1).withMonth(1).withDayOfMonth(1); LocalDate bis1 = now.withYear(year1); LocalDate von2 = now.withYear(year2).withMonth(1).withDayOfMonth(1); LocalDate bis2 = now.withYear(year2); List<Auftrag> auftraege = AuftragSession.getAllAuftraege(); List<Auftrag> auftraegeInZeitraum1 = new ArrayList<>(); List<Auftrag> auftraegeInZeitraum2 = new ArrayList<>(); auftraege .stream() .filter(a -> a.getErstellung().isAfter(von1) && a.getErstellung().isBefore(bis1)) .forEach(auftraegeInZeitraum1::add); auftraege .stream() .filter(a -> a.getErstellung().isAfter(von2) && a.getErstellung().isBefore(bis2)) .forEach(auftraegeInZeitraum2::add); if (!kundenChoiceBox.getValue().equals("Alle")) { Kunde k = KundeSession.getKundeByName(kundenChoiceBox.getValue()); List<Auftrag> aKunde1 = new ArrayList<>(); List<Auftrag> aKunde2 = new ArrayList<>(); auftraegeInZeitraum1.stream().filter(a -> a.getKunde().equals(k)).forEach(aKunde1::add); auftraegeInZeitraum2.stream().filter(a -> a.getKunde().equals(k)).forEach(aKunde2::add); auftraegeInZeitraum1 = aKunde1; auftraegeInZeitraum2 = aKunde2; } zeitraumIntoInfos(auftraegeInZeitraum1, 1); zeitraumIntoInfos(auftraegeInZeitraum2, 2); for (JahresvergleichRow ci : produktInfos.values()) { Produkt p = ProduktSession.getProdukt(ci.produktNr.get()); ci.umsatz1.set(Math.round(ci.stuckzahl1.get() * p.getVkPreis() * 100.0) / 100.0); ci.umsatz2.set(Math.round(ci.stuckzahl2.get() * p.getVkPreis() * 100.0) / 100.0); dataShow.add(ci); } }
static void f1() { LocalDate date = LocalDate.of(2016, Month.JANUARY, 24); int year = date.getYear(); // 2016 Month month = date.getMonth(); // 1月 int dom = date.getDayOfMonth(); // 24 DayOfWeek dow = date.getDayOfWeek(); // 星期天,SUNDAY int len = date.lengthOfMonth(); // 31 (1月份的天数) boolean leap = date.isLeapYear(); // true (是闰年) date = date.withYear(2015); // 2015-01-24 date = date.plusMonths(2); // 2015-03-24 date = date.minusDays(1); // 2015-03-23 System.out.println(dow); }