Существует ли стандарт для включающих/исключающих окончаний временных интервалов?

Мне интересно, существуют ли стандартные или «нормальные» средства интерпретации конечных точек данных временного интервала в отношении инклюзивности/исключительности значения, определяющего конечную точку. Обратите внимание, однако, что я спрашиваю, что такое стандартное (или наиболее распространенное)соглашение(если оно существует), а не для диссертации о ваших личных предпочтениях. Если вы действительно хотите представить диссертацию, пожалуйста, приложите к ней ссылку на чей-то опубликованный стандарт или стандартный текст по этому вопросу. Открытые стандарты (за чтение которых мне не нужно платить) предпочтительнее, если только они не содержат фундаментальных недостатков :).

Конечно, есть 4 возможности для временного интервала от A до B:

  1. (A, B) - Оба конца исключают друг друга.
  2. [A, B] - Оба конца включительно.
  3. [A, B] - Начало включает, а конец включает.
  4. (A, B] - Начало включает, а конец включает.

Каждый из них имеет разные характеристики указать больше)

Соглашение [A, B] имело бы кажущееся неудобным свойство, состоящее в том, что B содержится в интервале [A, B], а также [B, C]. Это особенно неудобно, если B предназначен для представления граница полуночи, и вы пытаетесь определить, например, на какой день она приходится.Кроме того, это означает, что продолжительность интервала немного раздражает при вычислении, поскольку [A, B], где A = B, должна иметь длину 1, и, следовательно, продолжительность [A, B] равна (B - A) + 1

Точно так же соглашение (A, B) имело бы ту трудность, что B не попадает ни в (A, B), ни в (B, C)... Продолжая аналогию с дневными границами, полночь не была бы частью ни одного дня. Это также логически неудобно, потому что [A, B], где A = B, является бессмысленным интервалом с длительностью меньше нуля, но перестановка A и B не делает его допустимым интервалом.

Итак, я думаю, что хочу либо [A, B], либо (A, B], и я не могу понять, как выбрать между ними.

Так что, если у кого-то есть ссылка на документ стандартов, ссылка на стандартный текст или аналогичный, который поясняет соглашение, что было бы здорово С другой стороны, если вы можете связать различные документы стандартов и / или ссылки, которые более или менее полностью не согласны, тогда я могу просто выбрать тот, который, кажется, имеет достаточный авторитет в CMA и покончим с этим :).

Наконец, я буду работать на Java, поэтому я особенно восприимчив к ответам, которые хорошо работают на Java.

42
задан Gus 20 March 2012 в 21:38
поделиться