Typo in title: should be 5.3.2
ISO 8601 5.3.2 distinguishes between combined representations of Date-Time values (e.g. 2013-01-20 18:00) and uncombined representations of Time of Day values (e.g. 18:00); the latter is not connected to any particular day and because it is not yoked to a date, it is not a moment in a chronological continuum that extends beyond the 24-hours of the single (indeterminate) day. "Time of Day" is a very simple data type, an analog for the hours, minutes, and seconds of the 24-hour clock, which runs from 00:00 to 24:00.
Unlike a combined Date-Time representation, where it is possible to disambiguate the start of the day from the end of the day by incrementing the date element (January 20 at 00:00 is the start of January 20th. January 21 at 00:00 is the end of January 20th) the uncombined Time of Day representation has to find another way to distinguish the start of the day from the end of the day, as it lacks a date element. To distinguish the start of the 24-hour day from the end of the 24-hour day, ISO 8601 3.5.2 treats 24:00 as a valid representation of the end of the day. 00:00 refers to the start of the day. 24:00 refers to the end of the day. When the hour value of a Time of Day is 24, the minutes and seconds must be 0.
Examples of the use of 24:00 under ISO 8601 5.3.2 can be found in the original ISO 8601 specification as well as in Appendix B.1.2 Time of Day here: http://dotat.at/tmp/ISO_8601-2004_E.pdf (cf. page 28). Here is an excerpt (sorry, the formatting is lost):
Midnight — The beginning of a day
Basic format............... Extended format .....................Explanation
000000...................... 00:00:00.................................. Complete
0000........................... 00:00....................................... Hour and minute only
Midnight — The end of a day
Basic format............... Extended format..................... Explanation
240000....................... 24:00:00................................ Complete
2400........................... 24:00..................................... Hour and minute only
But the Kendo timePicker does not accept the string literal 24:00:
var timePicker = $("#myTimePicker").data("kendoTimePicker");
timePicker.value("24:00");
?timePicker.value()
null
The Kendo TimePicker should accept 24:00. The developer should be able to set 24:00 as the value for the TimePicker and later get 24:00 from it. The DateTimePicker can be used for working with combined representations The TimePicker should be usable with uncombined Time of Day representations.
As an aside, I believe it is unwarranted to treat an uncombined Time of Day as if it were a moment on the calendar continuum. It does not achieve the existential status of calendar-time until it is explicitly yoked to a date. The problem arises from trying to make the Time of Day be more than the crude but very useful datatype it is.
Not all databases conform to this ISO standard. Here is one that does:
http://www.postgresql.org/docs/9.1/static/datatype-datetime.html
and here is another:
http://www.sqlite.org/lang_datefunc.html
and here is another:
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm
P.S. The following are all different datatypes under ISO 8601 and ought not be confused with one another, as they are indeed being conflated by many, including the folks at java.SQL.lang who are conflating TimeSpan and TimeOfDay into a single datatype, muddying the water.
DateTime
TimeSpan aka Interval
Time aka TimeOfDay
Only the first, DateTime, is linked to a particular date on the calendar. TimeSpan and TimeOfDay are not on the calendar nor are they in a time-zone, having no localization information. If a Time is cast to a DateTime, the cast should either fail or a default/arbitrary date such as the beginning of the epoch might be chosen. But strictly speaking qua datatypes, TimeSpan and TimeOfDay are unrelated to the calendar.
ISO 8601 5.3.2 distinguishes between combined representations of Date-Time values (e.g. 2013-01-20 18:00) and uncombined representations of Time of Day values (e.g. 18:00); the latter is not connected to any particular day and because it is not yoked to a date, it is not a moment in a chronological continuum that extends beyond the 24-hours of the single (indeterminate) day. "Time of Day" is a very simple data type, an analog for the hours, minutes, and seconds of the 24-hour clock, which runs from 00:00 to 24:00.
Unlike a combined Date-Time representation, where it is possible to disambiguate the start of the day from the end of the day by incrementing the date element (January 20 at 00:00 is the start of January 20th. January 21 at 00:00 is the end of January 20th) the uncombined Time of Day representation has to find another way to distinguish the start of the day from the end of the day, as it lacks a date element. To distinguish the start of the 24-hour day from the end of the 24-hour day, ISO 8601 3.5.2 treats 24:00 as a valid representation of the end of the day. 00:00 refers to the start of the day. 24:00 refers to the end of the day. When the hour value of a Time of Day is 24, the minutes and seconds must be 0.
Examples of the use of 24:00 under ISO 8601 5.3.2 can be found in the original ISO 8601 specification as well as in Appendix B.1.2 Time of Day here: http://dotat.at/tmp/ISO_8601-2004_E.pdf (cf. page 28). Here is an excerpt (sorry, the formatting is lost):
Midnight — The beginning of a day
Basic format............... Extended format .....................Explanation
000000...................... 00:00:00.................................. Complete
0000........................... 00:00....................................... Hour and minute only
Midnight — The end of a day
Basic format............... Extended format..................... Explanation
240000....................... 24:00:00................................ Complete
2400........................... 24:00..................................... Hour and minute only
But the Kendo timePicker does not accept the string literal 24:00:
var timePicker = $("#myTimePicker").data("kendoTimePicker");
timePicker.value("24:00");
?timePicker.value()
null
As an aside, I believe it is unwarranted to treat an uncombined Time of Day as if it were a moment on the calendar continuum. It does not achieve the existential status of calendar-time until it is explicitly yoked to a date. The problem arises from trying to make the Time of Day be more than the crude but very useful datatype it is.
Not all databases conform to this ISO standard. Here is one that does:
http://www.postgresql.org/docs/9.1/static/datatype-datetime.html
and here is another:
http://www.sqlite.org/lang_datefunc.html
and here is another:
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm
P.S. The following are all different datatypes under ISO 8601 and ought not be confused with one another, as they are indeed being conflated by many, including the folks at java.SQL.lang who are conflating TimeSpan and TimeOfDay into a single datatype, muddying the water.
DateTime
TimeSpan aka Interval
Time aka TimeOfDay
Only the first, DateTime, is linked to a particular date on the calendar. TimeSpan and TimeOfDay are not on the calendar nor are they in a time-zone, having no localization information. If a Time is cast to a DateTime, the cast should either fail or a default/arbitrary date such as the beginning of the epoch might be chosen. But strictly speaking qua datatypes, TimeSpan and TimeOfDay are unrelated to the calendar.