api.date Работа с датами

Получение номера дня недели

  • api.date.getNumberOfDayOfWeek(date)

    Возвращает номер дня недели в timezone сервера.

  • api.date.getNumberOfDayOfWeek(date, timezoneID)

    Параметр метода:

    • timezoneID — ID заданной timezone (например, 'Asia/Yekaterinburg')

    Возвращает номер дня недели в заданной timezone.

Получение номера дня в месяце

  • api.date.getNumberOfDayOfMonth(date)

    Возвращает номер дня в месяце в timezone сервера:

  • api.date.getNumberOfDayOfMonth(date, timezoneID)

    Параметр метода:

    • timezoneID — ID заданной timezone (например, 'Asia/Yekaterinburg')

    Возвращает номер дня в месяце в заданной timezone.

Получение номера месяца

  • api.date.getNumberOfMonth(date)

    Возвращает номер месяца в timezone сервера.

  • api.date.getNumberOfMonth(date, timezoneID)

    Параметр метода:

    • timezoneID — ID заданной timezone (например, 'Asia/Yekaterinburg')

    Возвращает номер месяца в заданной timezone.

Получение номера недели в месяце

  • api.date.getNumberOfWeekOfMonth(date)

    Возвращает номер недели в месяце в timezone сервера.

  • api.date.getNumberOfWeekOfMonth(date, timezoneID)

    Параметр метода:

    • timezoneID — ID заданной timezone (например, 'Asia/Yekaterinburg')

    Возвращает номер недели в месяце в заданной timezone.

Перерасчет дат

  • api.date.addDays(date, amountOfDays)

    Добавление дня к дате /дате-времени (отнимание дня от даты /даты-времени).

    Параметры метода:

    • date — дата /дата-время, к которой применяется перерасчет. Возможно указание значения null. Если дата не указана (передан null), то пересчет применяется к текущей дате;
    • amountOfDays — количество добавляемых календарных дней (целое положительное число), количество отнимаемых календарных дней (целое отрицательное число).

    Возвращает пересчитанное значение даты /даты-времени.

  • api.date.addMonths(date, amountOfMonths)

    Добавление месяца к дате /дате-времени (отнимание месяца от даты /даты-времени).

    Параметры метода:

    • date — дата /дата-время, к которой применяется перерасчет. Возможно указание значения null. Если дата не указана (передан null), то пересчет применяется к текущей дате;
    • amountOfMonths — количество добавляемых месяцев (целое положительное число), количество отнимаемых месяцев (целое отрицательное число). Int.

    Возвращает пересчитанное значение даты /даты-времени. Если в полученном месяце нет указанного дня, то возвращает последний день получившегося месяца.

  • api.date.addYears(date, amountOfYears)

    Добавление количества лет к дате /дате-времени (отнимание количества лет от даты /даты-времени.

    Параметры метода:

    • date — дата /дата-время, к которой применяется перерасчет. Возможно указание значения null. Если дата не указана (передан null), то пересчет применяется к текущей дате;
    • amountOfYears — количество добавляемых лет (целое положительное число), количество отнимаемых лет (целое отрицательное число). Int.

    Возвращает пересчитанное значение даты /даты-времени. Если в полученный год нет указанного дня, то возвращает последний получившийся месяц.

Ограничение значений атрибутов типа "Дата" и "Дата/время"

Примеры использования методов api.date.filter() см. Скрипт ограничения значения атрибутов типа "Дата" и "Дата/время".

  • api.date.filter()

    Получение объекта, используемого для генерации предикатов фильтрации атрибутов типа "Дата" и "Дата/время".

    Возвращает экземпляр объекта генерации предиката (IDatePredicate).

    В классе IDatePredicate доступны следующие методы:

    • IRestriction after(date)

      IRestriction after(date, useTime)

      Параметры метода:

      • date — дата больше которой должно быть проверяемое значение;
      • useTime:

        • false (по умолчанию) — сформировать предикат без учета времени;
        • true — сформировать предикат учитывающий время.

      Возвращает предикат, проверяющий, что дата/время больше указанной.

    • IRestriction before(date)

      IRestriction before(date, useTime)

      Параметры метода:

      • date — дата, меньше которой должно быть проверяемое значение;
      • useTime:

        • false (по умолчанию) — сформировать предикат без учета времени;
        • true — сформировать предикат учитывающий время.

      Возвращает предикат, проверяющий, что дата/время меньше указанной.

    • IRestriction between(from, to)

      IRestriction between(from, to, useTime)

      Параметры метода:

      • from — дата, больше или равно которой должно быть проверяемое значение;
      • to — дата, меньше или равно которой должно быть проверяемое значение;
      • useTime:

        • false (по умолчанию) — сформировать предикат без учета времени;
        • true — сформировать предикат учитывающий время

      Возвращает предикат, проверяющий, что дата/время лежит в диапазоне между указанными.

    • IRestriction dayOfWeek(int dayOfWeek)

      Параметр метода:

      • dayOfWeek — день недели, которому должна соответствовать проверяемая дата (1 - воскресенье... 7 - суббота)

      Возвращает предикат, проверяющий соответствие дню недели.

    • IRestriction equals(date)

      IRestriction equals(date, useTime)

      Параметры метода:

      • date — дата, которой должно соответствовать проверяемое значение;
      • useTime:

        • false (по умолчанию) — сформировать предикат без учета времени;
        • true — сформировать предикат учитывающий время

      Возвращает предикат, проверяющий, что дата/время соответствует указанной.

    • IRestriction in(dates)

      IRestriction in(dates, useTime)

      Параметры метода:

      • dates — даты, одной из которых должно соответствовать проверяемое значение
      • useTime:

        • false (по умолчанию) — сформировать предикат без учета времени;
        • true — сформировать предикат учитывающий время

      Возвращает предикат, проверяющий, что дата/время соответствует одной из указанных.

    • IRestriction inTime(from, to)

      Параметры метода:

      • from — время, с которого начинается промежуток (количество мс прошедшее с 00:00:00);
      • to — время которым заканчивается промежуток (количество мс прошедшее с 00:00:00).

      Возвращает предикат, проверяющий, что дата/время соответствует временному периоду, например, с 9:00 по 17:00.

    • IRestriction isNull()

      Возвращает предикат, проверяющий, что дата/время null.

    • IRestriction isNull(date)

      Параметр метода:

      • date — значение, которое должно быть null.

      Возвращает предикат, проверяющий, что указанная дата/время null.

    • IRestriction notNull()

      Возвращает предикат, проверяющий, что дата/время НЕ null.

    • IRestriction notNul(date)

      Параметр метода:

      • date — значение, которое НЕ должно быть null.

      Возвращает предикат, проверяющий, что указанная дата/время НЕ null.

    • IRestriction and(restrictions)

      Параметр метода:

      • restrictions — массив ограничений или список ограничений.

      Возвращает предикат, объединяющий другие по логическому "И".

    • IRestriction or(restrictions)

      Параметр метода:

      • restrictions — массив ограничений или список ограничений.

      Возвращает предикат, объединяющий другие по логическому "ИЛИ".

    • IRestriction not(restrictions)

      Параметр метода:

      • restrictions — предикат, значение которого будет инвертировано.

      Возвращает предикат, инвертирующий результат указанного предиката.