Is there any kind of standard for representing date ranges?

date, date-range, iso8601, naming, standards

Solution

ISO 8601 does have a standard for representing date ranges. To represent the start and end date using this format you would write:

`2013-01-01/2013-06-31`

Note how the forward slash is used as the interval designator to separate the start and end dates.

See the ISO 8601 Wikipedia page for more information about time intervals.

Problem

ISO 8601 represents a date as `YYYY-MM-DD`. It doesn't seem to offer any recommendation on how to represent a date range, for example: ``` 2013-01-01 => 2013-06-31 ``` Does ISO 8601, or another standard, give a sensible recommendation for representing date ranges? Background: this is to be used as the output of the `toString()` method of a `DateRange` object, output which could then be parsed with a `parse()` method.

Original source