Beispiel #1
0
        private void addTime(int value, int unit)
        {
            if (value == NULL_VALUE)
            {
                value = 1;
            }
            else if (value == -NULL_VALUE)
            {
                value = -1;
            }

            switch (unit)
            {
            case UNIT_YEAR:
                _date.setYear(_date.getYear() + value);
                break;

            case UNIT_MONTH: {
                int month = _date.getMonth() + value;
                int year  = _date.getYear();

                if (month < 0 || month >= 12)
                {
                    year = year + month / 12;

                    month = month % 12;
                }

                _date.setDate(year, month, _date.getDayOfMonth());
                break;
            }

            case UNIT_FORTNIGHT:
                _date.setDayOfMonth(_date.getDayOfMonth() + 14 * value);
                break;

            case UNIT_WEEK:
                _date.setDayOfMonth(_date.getDayOfMonth() + 7 * value);
                break;

            case UNIT_DAY:
                _date.setDayOfMonth(_date.getDayOfMonth() + value);
                break;

            case UNIT_HOUR:
                _date.setHour(_date.getHour() + value);
                break;

            case UNIT_MINUTE:
                _date.setMinute(_date.getMinute() + value);
                break;

            case UNIT_SECOND:
                _date.setSecond(_date.getSecond() + value);
                break;
            }
        }