static int lastDayOfMonth(ZonedDateTime dateTime) {
        return dateTime.getMonth().length(Year.isLeap(dateTime.getYear()));
    }
https://stackoverflow.com/questions/33942544/how-to-skip-weekends-while-adding-days-to-localdate-in-java-8/33943576
exts/jphp-zend-ext/src/main/java/org/develnext/jphp/zend/ext/standard/date/Adjusters.java