DateTime in Java 8

Working with Dates in Java 8 is easy and intuitive.

LocalDateTime currTime = LocalDateTime.now();
int currentYear = currTime.getYear();
int currentMonth = currTime.getMonthValue();

// prepare @datum_start = last day of previous month
LocalDateTime datumStart = 
   currTime.minusMonths(1L)
           .with(TemporalAdjusters.lastDayOfMonth());

// prepare @datum_end = first day of next month
LocalDateTime datumEnd = 
    currTime.withDayOfMonth(1)
            .plusMonths(1L);

//convert to java.util.Date
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Date out = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());

More info here.