static long secondsToNextMonthTick(String currentMonthValue, long offsetInSecond) {
    // date time formatter only has year and month, so when incrementing the month by one, the day will
    // still be 0, which would be the first day of next month.
    // For example, if the currentMonth is "2020-11", then the currentMonthDateTime would be LocalDate(2020, 11, 0).
    // When calling plusMonth, it will return (2020, 12, 0), which is the first day of the next month.
    String[] parts = currentMonthValue.split("-");
    int year = Integer.parseInt(parts[0]);
    int month = Integer.parseInt(parts[1]);
    LocalDateTime currentMonthDateTime = LocalDateTime.of(year, Month.of(month), 1, 0, 0);
    long secondsNextMonth =
        currentMonthDateTime.plusMonths(1).plusSeconds(offsetInSecond).atOffset(ZONE_OFFSET).toEpochSecond();
    return secondsNextMonth - time.seconds();
  }
Seconds to the first day of the next month, plus the offset in seconds.
@param currentMonthValue The current month in string format.
@param offsetInSecond The offset in second to add to the first day of next month.
@return Seconds to reach first day plus {@code offsetInSecond} of next month.
ambry-quota/src/main/java/com/github/ambry/quota/storage/MySqlStorageUsageRefresher.java