### Question:
DateTimeService { public ZonedDateTime getDateTimeNowUTC() { return ZonedDateTime.now(ZoneId.of("UTC")); }  ZonedDateTime getFutureDate(ZonedDateTime timestamp, int numberOfDays, boolean endOfDay); ZonedDateTime getDateTimeNowEurope(); ZonedDateTime getDateTimeNowUTC(); ZonedDateTime getBeginningTimestampOfMonthUTC(final ZonedDateTime zonedDateTime); ZonedDateTime getEndingTimestampOfMonthUTC(ZonedDateTime zonedDateTime); ZonedDateTime getBeginningTimestampOfWeekUTC(ZonedDateTime zonedDateTime); ZonedDateTime getEndingTimestampOfWeekUTC(ZonedDateTime zonedDateTime); ZonedDateTime getBeginningTimestampOfDayUTC(ZonedDateTime zonedDateTime); ZonedDateTime getEndingTimestampOfDayUTC(ZonedDateTime zonedDateTime); ZonedDateTime convertDateToZonedDateTimeEurope(Date date); ZonedDateTime getBeginningOfCurrentYear(); ZonedDateTime getEndingOfCurrentYear(); String getMonthNameFor(ZonedDateTime dateTime);  }### Answer:
@Test public void getDateTimeNowUTC() { DateTimeService cut = new DateTimeService(); final ZonedDateTime dateTimeNowUTC = cut.getDateTimeNowUTC(); long currentTime = System.currentTimeMillis(); assertThat(dateTimeNowUTC.getZone(), is(ZoneId.of("UTC"))); assertThat(currentTime - dateTimeNowUTC.toEpochSecond() * 1000, lessThan(ACCEPTABLE_TIME_IN_MILLIS_DIFF)); }