Proposal for date and time format following human regional language specific conventions: Written by Jurgen Niels Lancel June-15th, 2018 13:32 This document is a quick and dirty informal sketch of an idea. I only wrote it so I could quickly discuss the idea with others. It is obviously nowhere near ready to become a formal draft or proposal. I would like to receive feedback whether this idea could be brought to a draft for standardization. The idea is presented in the form of examples. This for me provided the easiest manner to document which variations might occur, and thus what needs to be covered if an attempt is made to standardize any part of this. Again, this is only a sketch of an idea, which I share so we may discuss the idea. Abstract: A date time format which respects proper writing form for a certain human language, and which respects simplifying the date within regional language conventions Notice that the format allows different notations for each language. For example Dutch and English standards vary. The main intent is to have a standard not so much for machine only date time handling such as file transfers, but for human readable date and time, such as on articles, webpages and calendars. By standardizing this it can also more easily be machine readable, such as the case with web-crawlers. Machines may convert date and time formats between this standard and the existing 8601 standard. It must be noted that relative date-time values such as "today", "tomorrow" and "yesterday" must always be accompanied with knowledge of the current date-time and timezone. For humans the date-time moment and location of reading will suffice, where machines have to take into account the moment and locale at which data is collected, and either convert the date-time right away, or keep the date-time and locale stored to make sense of relative date-time expressions (such as the keyword “tomorrow”) There are already standards in existence to convey date and time. However, these standards were best used for communication between machines or specifically targeted at machines. In recent years computers have long past the required capabilities of understanding date and time as expressed in human language. If a convention or standard were to be upheld, it should be quite possible to effectively parse date and time expressed in conventional languages, targeted for human language, by machines. An example of such application would be a web-crawler, feeding information to a page which may display events and their dates and times as found across web pages. Schema.org for example makes use of iso-8601 to give a definition to date-time. however, often date and time are expressed in a manner which is not in the scope of iso-8601, but instead in the scope of for example the English language, targeting a human audience. A webmaster would have to include date and time separately, in iso-8601 compliant format, as not displayed metadata. With a convention or standard which focuses on human readable date and time formats, crawlers may get a handle on date and time as they are usually presented. Of course the standard is not only applicable to the word wide web. Important notes: * The format mixes absolute dates with relative dates (such as today, tomorrow, yesterday, 8 hours ago). Because of this, the timezone MUST ALWAYS be defined for valid use of this format. Tomorrow in Canada might be today in China. * A numerical relative time format should always include a reference point and a direction. - "ago" is one word indication direction is in the past and indicating a reference frame of this current moment. This keyword provides both direction and frame of refence. - "before" is a word indication direction is in the past and the reference frame needs to be given still by another expression. - "from" should be interpreted as a direction forward in time (future). ("from" can stickily be read as a synonym to the word "offset" without specifying whether this is in the future of past, but for this date-time format we take the convention of a language in account, and by convention the word "from" in an English time expression should be interpreted as an offset in the future, opposing "since") - "now" provides a frame of reference, being the date-time of data collection. - "tomorrow" indicates both a direction (into the future) and a frame of reference (now, the time of data collection at the timezone of data collection). Alto tomorrow is rather broad, it is a valid frame of reference, when combined with the information at which point in time the data was collected. The accuracy at which "tomorrow" should be perceived can be deduced from the precision of the given time. If the given time included seconds for example, the moment this time reference is referring to needs to be accurate to the second. Timezone information should also be taken into account. * Do take into account that daylight saving might switch over night! If this occurs the frame of reference needs to account for it! ################################### date formats both absolute and relative: Examples valid English July 15 July-15 July 15th July-15th July 15 2018 July 15, 2018 July-15, 2018 July-15-2018 July 15th 2018 July 15th, 2018 July-15th, 2018 July-15th-2018 Tomorrow Yesterday tomorrow yesterday Today today July 15 July-15 July 15th July-15th July 15 2018 July 15, 2018 July-15, 2018 July-15-2018 July 15th 2018 July 15th, 2018 July-15th, 2018 July-15th-2018 Examples NOT valid English: 15 July July 15 18 July 15 '18 the day after tomorrow july 15 (violates English language by not capitalizing the name of the month) July-15th,-2018 tomorrow 15th (double date indicator, one absolute, one relative. Not valid) July/15 (open for discussion(!), this format is well readable, unless used with numbers only, in which case the order of days and months can get very confusing. What is the historical reason for the use of slashes rather than spaces or dashes? Is there a valid motivation to still allow this?) Examples valid Dutch: 15 juli 15 juli 2018 15-juli 15-juli-2018 vandaag Vandaag morgen Morgen gisteren Gisteren eergisteren Eergisteren Overmorgen overmorgen Examples NOT valid Dutch: juli 15 (volgorde, niet geldig) 2018 juli 15 (volgorde, niet geldig) 15 Juli (Maand met hoofdletter, oneigenlijk toepassen Nederlandse taal) 15e juli (dagen als instanties van de maand, oneigenlijk toepassen Nederlandse taal) vandaag 15 juli (dubble datum indicatie, eemaal absoluut en een maal relatief, niet geldig) 15/juli (een 'forward slash' hoort niet thuis in een Nederlands datum formaat) ############################### date-time expansion, covering both absolute dates with absolute time and relative date with absolute time: Examples valid English: July 15 23:00 July 15 at 23:00 July 15 11:00pm July 15 at 11:00pm July 15 11:00 pm July 15 at 11:00 pm July 15 11:00PM July 15 at 11:00PM July 15 11:00 PM July 15 at 11:00 PM July-15 23:00 July-15 at 23:00 July-15 11:00pm July-15 at 11:00pm July-15 11:00 pm July-15 at 11:00 pm July-15 11:00PM July-15 at 11:00PM July-15 11:00 PM July-15 at 11:00 PM ( .. etc) Tomorrow 23:00 Tomorrow at 23:00 Tomorrow 11:00pm Tomorrow at 11:00pm Tomorrow 11:00 pm Tomorrow at 11:00 pm Tomorrow 11:00PM Tomorrow at 11:00PM Tomorrow 11:00 PM Tomorrow at 11:00 PM tomorrow 23:00 tomorrow at 23:00 tomorrow 11:00pm tomorrow at 11:00pm tomorrow 11:00 pm tomorrow at 11:00 pm tomorrow 11:00PM tomorrow at 11:00PM tomorrow 11:00 PM tomorrow at 11:00 PM (... etc) Examples NOT valid English: July 15 11:00 (missing indication am or pm) July-15-23:00 (time should be separated from the date with an empty space, not with a dash) July-15 11:00pm 2018 (time must proceed or follow on date. It may not be embedded within the date) July 15 11:00-pm (no dashes allowed within the time indication) Examples valid Dutch: Examples NOT valid Dutch: 15 juli 11:00pm (De Nederlandse taal kent geen "post-midday". Het kent wel “na-middag”, maar ook dat is geen gebruikelijk tijd formaat in de Nederlandse taal, en moet dus als ongeldig worden beschouwd) 15 juli 11:00 vanavond (Onnodig verwarrent formaat, waar standaard gebruik van een 24 uur formaat dit voorkomt. Bovendien levert dit verwarring tussen de definities, vanmiddag, vanvond en vannacht op.) 15 juli 11 uur (Onnodig verwarrent formaat, waar standaard gebruik van eenvoluit uitgedrukte tijd dit voorkomt.) ##################################### Relative time expansion, covering relative time with no date: Examples valid English: 8 hours ago 2 day, 20 hours and 15 seconds from now 12d 1h ago 1 hour 1 minute 1 second ago (one is not plural in English) three hours ago (a number can be written as a word. Be aware this can get complex, since numbers are infinite (ninehundred-billion-one-million-tho-hundred-thousand-six-hundred-thirthy-three)) 20 hours 3m 40s from now (mix-form of words and letters is allowed. No need to be strict about that, it is a well readable format, which is the main criterium for this standard) 14h:56m:33s ago (column signs may be used as separators for time indications, the summation does not need to be expressed with a keyword for this form) 13h:12 minutes:14s ago (mix-form and column signs. open for debate(!)) 1240 minutes 14 seconds ago (numbers may reach to infinite as long as a larger unit is not expressed) 20 minutes and 14 seconds ago (the word "and" may be used to indicate a summation, and should be considered a valid form, even though it adds no data) 3 weeks, 14 days and 3 minutes ago (units expected in between may be omitted entirely, but only if a keyword for summation is used before the last summation, and comma's between all other units) Valid form which leaves reference open: 17 hours before release of the next episode - "release of the next episode" is the required frame of reference, but it is not stated here, it must be stated elsewhere. This could be anywhere, on the same page, a different page on the same site, or it might be common knowledge when that moment is. Therefor there should be some meta data pointing to a valid frame of reference OR to another open reference format, which in turn again points to another of either. Loops must be prevented, and long sequences of open references must also be prevented. Rules need to be in place for this, for example a max-mum number of sequential open references. Examples NOT valid English: 5 minutes before (missing frame of reference! Before what moment?! Before now? Before the dinosaurs went extinct? Before the release of of the next episode? (and when is that?!) ) 12 d 1 h ago (either the full words days and hour should be used with spacing or a letter should be used without spacing) 1 hours ago (one is not plural in English) 4hours from now (spacing should be used for words) 9-hours from now (dash leads to confusion with date format, and is not needed anyway) 13:12 ago (it is not clear whether this is 13 hours 12 minutes or 13 minutes 12 seconds) 13:12 minutes ago (it is not clear whether this is 13 hours 12 minutes or 13 minutes 12 seconds) 13h:12m: ago (odd appending column sign may lead to confusion and serves no purpose) 20 minutes plus 14 seconds ago (the word "plus" is not convention to indicate a summation of time and goes against the English language) 20 minutes minus 14 seconds ago (it makes no sense to indicate time in this manner, it is unnecessarily confusing) 14 hours 1240 minutes 14 seconds ago (numbers may reach to infinite as long as a larger unit is not expressed) 3 weeks 14 days 3 minutes ago (a date or time reference consisting of multiple units MUST express a summation with a keyword OR by separators such as column signs) 3 weeks and 14 days and 3 minutes ago (violates English language in its summation convention, only one keyword should be used to express one summation with multiple factors) 3 weeks, 14 days, 3 minutes ago (at least one keyword must be present to indicate the summation) 3 weeks 14 days 3 minutes ago (if time of different units is summed, a keyword should indicate so) 3 weeks 14 days and 3 minutes ago (the factors of the summation must be clearly separated, a comma is required between all factors expect the last two, where the keyword for the summation serves that purpose)