Существует ли какой-либо стандарт для представления диапазонов дат?

ISO 8601 представляет дату в YYYY-MM-DD.

Кажется, он не дает никаких рекомендаций относительно того, как представлять диапазон дат, например:

2013-01-01 => 2013-06-31

Дает ли ISO 8601 или другой стандарт разумную рекомендацию для представления диапазонов дат?

Фон: это должно использоваться как выход метода toString() объекта DateRange, выход которого затем может быть проанализирован методом parse().

Ответ 1

ISO 8601 имеет стандарт для представления диапазонов дат. Чтобы представить дату начала и окончания, используя этот формат, вы должны написать:

2013-01-01/2013-06-31

Обратите внимание, как косая черта используется в качестве указателя интервала для разделения дат начала и окончания.

Смотрите здесь для получения дополнительной информации.

Ответ 2

Чтобы добавить ответ Бена Смита выше, в стандарте также упоминается использование двойного переноса (--) в качестве обозначения интервала в определенных контекстах вместо косой черты (/). Например, в именах файлов или каталогов, где использование косой черты запрещено в большинстве операционных систем.

Таким образом, приведенные выше примеры будут

2013-01-01--2013-06-31

или же

2013-01-01--06-31

в сокращенном виде