Package com.caucho.util

Examples of com.caucho.util.QDate


        currentTime.setMonth(0); // The QDate implementation uses 0 indexed
        // months, but cron does not.
        currentTime.setYear(year);
      }

      QDate nextTime = getNextTimeInYear(currentTime);

      int count = 0;

      // Don't look more than approximately five years ahead.
      while ((count < 5) && (nextTime == null)) {
View Full Code Here


        currentTime.setHour(0);
        currentTime.setDayOfMonth(1);
        currentTime.setMonth(month - 1);
      }

      QDate nextTime = getNextTimeInMonth(currentTime);

      while ((month < _months.length) && (nextTime == null)) {
        month++;
        month = getNextMatch(_months, month);
View Full Code Here

        currentTime.setMinute(0);
        currentTime.setHour(0);
        currentTime.setDayOfMonth(day);
      }

      QDate nextTime = getNextTimeInDay(currentTime);

      if (nextTime == null) {
        day++;
        // Note, QDate uses a 1 indexed weekday, while cron uses a 0 indexed
        // weekday.
View Full Code Here

        currentTime.setSecond(0);
        currentTime.setMinute(0);
        currentTime.setHour(hour);
      }

      QDate nextTime = getNextTimeInHour(currentTime);

      if (nextTime == null) {
        hour++;
        hour = getNextMatch(_hours, hour);
View Full Code Here

      if (minute > currentTime.getMinute()) {
        currentTime.setSecond(0);
        currentTime.setMinute(minute);
      }

      QDate nextTime = getNextTimeInMinute(currentTime);

      if (nextTime == null) {
        minute++;
        minute = getNextMatch(_minutes, minute);
View Full Code Here

    return -1;
  }

  private QDate allocateCalendar()
  {
    QDate calendar = _localCalendar.getAndSet(null);

    if (calendar == null) {
      calendar = QDate.createLocal();
    }
View Full Code Here

    return values;
  }

  public long nextTime(long now)
  {
    QDate cal = allocateCalendar();

    long time = now + 60000 - now % 60000;

    cal.setGMTTime(time);

    int minute = nextInterval(_minutes, cal.getMinute());

    if (minute < 0) {
      minute = nextInterval(_minutes, 0);

      cal.setHour(cal.getHour() + 1);
    }

    int hour = nextInterval(_hours, cal.getHour());
    if (hour < 0) {
      hour = nextInterval(_hours, 0);
      minute = nextInterval(_minutes, 0);

      cal.setDayOfMonth(cal.getDayOfMonth() + 1);
    }

    int day = cal.getDayOfMonth();

    if (_days != null) {
      day = nextInterval(_days, cal.getDayOfMonth());

      if (day < 0) {
        cal.setMonth(cal.getMonth() + 1);
        cal.setDayOfMonth(1);

        day = nextInterval(_days, cal.getDayOfMonth());
        hour = nextInterval(_hours, 0);
        minute = nextInterval(_minutes, 0);
      }
    }

    if (_daysOfWeek != null) {
      int oldDayOfWeek = cal.getDayOfWeek() - 1;
      int dayOfWeek = nextInterval(_daysOfWeek, oldDayOfWeek);

      if (dayOfWeek >= 0) {
        day += (dayOfWeek - oldDayOfWeek);
      } else {
        dayOfWeek = nextInterval(_daysOfWeek, 0);

        day += (dayOfWeek - oldDayOfWeek + 7);
      }
    }

    int month = cal.getMonth();
    int year = (int) cal.getYear();

    freeCalendar(cal);

    long nextTime = nextTime(year, month, day, hour, minute);
View Full Code Here

      return nextTime(now + 3600000L); // DST
  }

  private long nextTime(int year, int month, int day, int hour, int minute)
  {
    QDate cal = allocateCalendar();

    cal.setLocalTime(0);

    cal.setYear(year);
    cal.setMonth(month);
    cal.setDayOfMonth(day);
    cal.setHour(hour);
    cal.setMinute(minute);

    long time = cal.getGMTTime();

    freeCalendar(cal);

    return time;
  }
View Full Code Here

    return -1;
  }

  public long prevTime(long now)
  {
    QDate cal = allocateCalendar();

    long time = now + 60000 - now % 60000;

    cal.setGMTTime(time);

    int minute = prevInterval(_minutes, cal.getMinute());

    if (minute < 0) {
      minute = prevInterval(_minutes, _minutes.length - 1);

      cal.setHour(cal.getHour() - 1);
    }

    int hour = prevInterval(_hours, cal.getHour());
    if (hour < 0) {
      hour = prevInterval(_hours, _hours.length - 1);
      minute = prevInterval(_minutes, _minutes.length - 1);

      cal.setDayOfMonth(cal.getDayOfMonth() - 1);
    }

    int day = cal.getDayOfMonth();

    if (_days != null) {
      day = prevInterval(_days, cal.getDayOfMonth());

      if (day < 0) {
        cal.setDayOfMonth(0);

        day = prevInterval(_days, cal.getDayOfMonth());
        hour = prevInterval(_hours, _hours.length - 1);
        minute = prevInterval(_minutes, _minutes.length - 1);
      }
    }

    if (_daysOfWeek != null) {
      int oldDayOfWeek = cal.getDayOfWeek() - 1;
      int dayOfWeek = prevInterval(_daysOfWeek, oldDayOfWeek);

      if (dayOfWeek >= 0) {
        day += (dayOfWeek - oldDayOfWeek);
      } else {
        dayOfWeek = prevInterval(_daysOfWeek, _daysOfWeek.length - 1);

        day += (dayOfWeek - oldDayOfWeek + 7);
      }
    }

    int month = cal.getMonth();
    int year = (int) cal.getYear();

    long prevTime = prevTime(year, month, day, hour, minute);

    return prevTime;
  }
View Full Code Here

    return prevTime;
  }

  private long prevTime(int year, int month, int day, int hour, int minute)
  {
    QDate cal = allocateCalendar();

    cal.setLocalTime(0);

    cal.setYear(year);
    cal.setMonth(month);
    cal.setDayOfMonth(day);
    cal.setHour(hour);
    cal.setMinute(minute);

    long time = cal.getGMTTime();

    freeCalendar(cal);

    return time;
  }
View Full Code Here

TOP

Related Classes of com.caucho.util.QDate

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.