Атрибут End

Атрибут End задает конец временного интервала.

Синтаксис

End = ЦЕЛОЕ32, ДАТА, ВРЕМЯ

Значение

SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,

JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER,

дата, время, день месяца (1..31), END_OF_MONTH (последний день месяца).


Если указано время, то включается последняя минута. Так прекращение интервала для End = 14:20 будет не ранее 14:21.

 

Абсолютные интервалы

Если не указана дата, а только время, то дата для End принимается равной дате для Start.

 

Периодические интервалы

Действуют следующие правила дополнения:

 

      если время не указано, то берется конец дня (23:59)

      если месяц не указан, но указан в Start – период оканчивается в месяц с именем, указанным в Start

      если день месяца не указан, а в Start указан день месяца или месяц – период оканчивается в последний день месяца,

      если не указан день недели, но день недели есть в Start, период оканчивается в день недели, указанный в Start.

Примечание:

Если End указывает на более раннее время дня, чем Start, то интервал будет длиться до соответствующего дня следующей недели.

 

Действуют следующие ограничения:

 

      день недели нельзя указывать вместе с месяцем или числом одновременно,  

      нельзя указывать день месяца больше 28, если месяц не задан явно или месяц – февраль, 

Примечание:

Допустимо указывать 29 февраля, как отдельный день – Start и End оба указывают на 29 февраля. В этом случае период будет активен один день за 4 года.

 

      нельзя указывать величины большего порядка, чем в Start – т.е. если в Start не указан месяц, то в End нельзя указать месяц.

Значение по

умолчанию

Для абсолютных интервалов отсутствие End считается отсутствием ограничения по времени. Причем если End отсутствует, Start обязательно должен быть указан.


Для периодических интервалов отсутствие End интерпретируется как конец дня, если Start не содержит указание месяца и/или числа. Если в Start указан месяц и/или число, End выставляется на конец месяца.

 

Примеры абсолютных интервалов:

    Period a (Start = 23/12/2009 End = 8/9/2016, 22:30)

    Period b (End = 08/09/ 2007, 2:30)

    Period c (Start = 2:00, 5 /6/15)

 

Примеры периодических интервалов:

•   Period a  (Start = 2, JANUARY End = 10) # со второго по десятое января каждого года

•   Period b  (Start = 12:00 End = 14:00) # каждый день с 12 до двух дня #последнего дня месяца

•   Period d  (Start = MONDAY End = FRIDAY, 17:00)# с понедельника до 17:00 пятницы каждую #неделю

•   Period e (Start = APRIL, 1, 15:00 End = APRIL, 1, 14:00)# весь год кроме 1 часа 1 апреля

•   Period f  (Start = MONDAY, 18:30 End = 17:30) # с понедельника 18:30 по следующий #понедельник 17:30