class DateUtil extends AbstractCaller {

    @Description("Formats date in the UTC time zone modified according to a pattern into a string using format pattern after applying time zone offset (DST aware)." + FORMAT_HELP + MODIFY_HELP + "Example: #{formatDateByZoneId(date, formatPattern, modifyPattern, timeZoneId)}")
    @UtilityMethod
    public String formatDateByZoneId(LocalDate date, String formatPattern, String modifyPattern, String timeZoneId) {
        LocalDateTime dateTime = toDateTime(date);
        dateTime = modifyDateTimeByZoneId(dateTime, modifyPattern, timeZoneId);

        return formatDateTimeByZoneId(dateTime, formatPattern, timeZoneId);
    }

}