- From: Richard Tibbett via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 11 Aug 2010 11:52:44 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/calendar In directory hutz:/tmp/cvs-serv6891/calendar Modified Files: TimezonedDate.html Log Message: Minor updates to initial proposal Index: TimezonedDate.html =================================================================== RCS file: /sources/public/2009/dap/calendar/TimezonedDate.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- TimezonedDate.html 5 Aug 2010 13:04:01 -0000 1.2 +++ TimezonedDate.html 11 Aug 2010 11:52:42 -0000 1.3 @@ -78,10 +78,10 @@ GMT). </p> <p> - The issue with this method is not getting the correct local time whenever it is needed. The existing methods are sufficient for + The issue with this method is not getting the correct local time for a given date. The existing methods are sufficient for this purpose. The issue is correctly converting to and from local time and UTC for all points in time - in any of the past, present - and future. This is important for defining relative dates, where a time in a given location may observe different UTC offsets - according to any Daylight Savings Rules (DST) in effect or any other changes that may occur to a location's time zone made over + and future - based on an initial time provided. This is important for defining relative dates, where a time in a given location may observe different UTC offsets + according to any Daylight Savings Rules (DST) in effect or any other changes that may occur to a location's time zone over time. </p> <p> @@ -107,13 +107,13 @@ </p> --> <p> - This specification introduces extensions to the ECMA <code>Date</code> object and the ISO-8601 standard for the communication and - stringification of time zones rules with a given date and time object. + This specification build on top of the ECMA <code>Date</code> object for the communication and + stringification of time zones rules to a given date and time object with the time zone information maintained. </p> </section> <section> <h2> - ECMA TimezonedDate Extension + The <code>TimezonedDate</code> Interface </h2> <p class="issue"> @@ -139,8 +139,6 @@ </p> <p class="issue"> - We need a lot more constructors and optionality in constructors (e.g. [[[[hours], minutes], seconds], millis].<br> - <br> Formatting WebIDL extended attributes (such as the Constructors) needs to be presented on separate lines in ReSpec.js (otherwise the page becomes very wide!). </p> @@ -201,254 +199,7 @@ </p> </section> </section> - <section> - <h2> - ISO 8601 TimezonedDate Extension - </h2> - <p> - This information is based on the [[!ISO8601]] specification. - </p> - <p> - [[!ISO8601]] does not specify a formal grammar for the date and time formats it defines. The following is an attempt to create a - formal grammar from [[!ISO8601]]. This is informational only and may contain errors. [[!ISO8601]] remains the authoritative - reference. - </p> - <p> - Note that due to ambiguities in ISO 8601, some interpretations had to be made. First, ISO 8601 is not clear if mixtures of basic - and extended format are permissible. This grammar permits mixtures. ISO 8601 is not clear on whether an hour of 24 is permissible - only if minutes and seconds are 0. This assumes that an hour of 24 is permissible in any context. ISO 8601 states that the - "T" may be omitted under some circumstances. This grammar requires the "T" to avoid any ambiguity. ISO 8601 - also requires (in section 5.3.1.3) that a decimal fraction be proceeded by a "0" if less than unity. Annex B.2 of - [[!ISO8601]] gives examples where the decimal fractions are not preceded by a "0". This grammar assumes section 5.3.1.3 - is correct and that Annex B.2 is in error. - </p> -<pre - class='example'> - 2010-07-17T17:14:23+01:00;Europe/London -</pre> -<pre - class='example'> - 2010-07-17T17:14:23;Asia/Novosibirsk -</pre> -<pre - class='example'> - 2012-09-23T06:30Z;America/Los_Angeles -</pre> -<pre - class='example'> - 2001-02-01T12+04:00;Etc/GMT -</pre> - <section> - <h2> - Derived Date ABNF - </h2> - <div - style='display: table; width: 0; margin-left: 3em; margin-right: auto'> -<pre - class="bnf"> - <dfn>date-century</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 00-99</em> - <dfn>date-decade</dfn> = <cite - class='key'>DIGIT</cite> <em>; 0-9</em> - <dfn>date-subdecade</dfn> = <cite - class='key'>DIGIT</cite> <em>; 0-9</em> - <dfn>date-year</dfn> = date-decade date-subdecade - <dfn>date-fullyear</dfn> = date-century date-year - <dfn>date-month</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 01-12</em> - <dfn>date-wday</dfn> = <cite - class='key'>DIGIT</cite> <em>; 1-7 ; 1 is Monday, 7 is Sunday</em> - <dfn>date-mday</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 01-28, 01-29, 01-30, 01-31 based on</em> - <em>; month/year</em> - <dfn>date-yday</dfn> = <span - class='rep'>3</span><cite - class='key'>DIGIT</cite> <em>; 001-365, 001-366 based on year</em> - <dfn>date-week</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 01-52, 01-53 based on year</em> - - <dfn>datepart-fullyear</dfn> = [date-century] date-year ["<span - class='str'>-</span>"] - <dfn>datepart-ptyear</dfn> = "<span - class='str'>-</span>" [date-subdecade ["<span - class='str'>-</span>"]] - <dfn>datepart-wkyear</dfn> = datepart-ptyear / datepart-fullyear - - <dfn>dateopt-century</dfn> = "<span - class='str'>-</span>" / date-century - <dfn>dateopt-fullyear</dfn> = "<span - class='str'>-</span>" / datepart-fullyear - <dfn>dateopt-year</dfn> = "<span - class='str'>-</span>" / (date-year ["<span - class='str'>-</span>"]) - <dfn>dateopt-month</dfn> = "<span - class='str'>-</span>" / (date-month ["<span - class='str'>-</span>"]) - <dfn>dateopt-week</dfn> = "<span - class='str'>-</span>" / (date-week ["<span - class='str'>-</span>"]) - - <dfn>datespec-full</dfn> = datepart-fullyear date-month ["<span - class='str'>-</span>"] date-mday - <dfn>datespec-year</dfn> = date-century / dateopt-century date-year - <dfn>datespec-month</dfn> = "<span - class='str'>-</span>" dateopt-year date-month [["<span - class='str'>-</span>"] date-mday] - <dfn>datespec-mday</dfn> = "<span - class='str'>--</span>" dateopt-month date-mday - <dfn>datespec-week</dfn> = datepart-wkyear "<span - class='str'>W</span>" - (date-week / dateopt-week date-wday) - <dfn>datespec-wday</dfn> = "<span - class='str'>---</span>" date-wday - <dfn>datespec-yday</dfn> = dateopt-fullyear date-yday - - <dfn>date</dfn> = datespec-full / datespec-year - / datespec-month / datespec-mday - / datespec-week / datespec-wday - / datespec-yday -</pre> - </div> - </section> - <section> - <h2> - Derived Time ABNF - </h2> - <div - style='display: table; width: 0; margin-left: 3em; margin-right: auto'> -<pre - class="bnf"> - - <dfn>time-hour</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 00-24</em> - <dfn>time-minute</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 00-59</em> - <dfn>time-second</dfn> = <span - class='rep'>2</span><cite - class='key'>DIGIT</cite> <em>; 00-58, 00-59, 00-60 based on</em> - <em>; leap-second rules</em> - <dfn>time-fraction</dfn> = ("<span - class='str'>,</span>" / "<span - class='str'>.</span>") <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> - <dfn>time-numoffset</dfn> = ("<span - class='str'>+</span>" / "<span - class='str'>-</span>") time-hour [["<span - class='str'>:</span>"] time-minute] - <dfn>time-zone</dfn> = "<span - class='str'>Z</span>" / time-numoffset - <span - class='add'><dfn>time-zone-id</dfn> = "<span - class='str'>;</span>" time-zone-id-prefix ["<span - class='str'>/</span>" time-zone-id-suffix]</span> - <span - class='add'><dfn>time-zone-id-prefix</dfn> = <<span - class='rep'>any</span> <cite - class='key'>TEXT</cite> except "<span - class='str'>/</span>"></span> - <span - class='add'><dfn>time-zone-id-suffix</dfn> = <<span - class='rep'>any</span> <cite - class='key'>TEXT</cite>></span> - - <dfn>timeopt-hour</dfn> = "<span - class='str'>-</span>" / (time-hour ["<span - class='str'>:</span>"]) - <dfn>timeopt-minute</dfn> = "<span - class='str'>-</span>" / (time-minute ["<span - class='str'>:</span>"]) - - <dfn>timespec-hour</dfn> = time-hour [["<span - class='str'>:</span>"] time-minute [["<span - class='str'>:</span>"] time-second]] - <dfn>timespec-minute</dfn> = timeopt-hour time-minute [["<span - class='str'>:</span>"] time-second] - <dfn>timespec-second</dfn> = "<span - class='str'>-</span>" timeopt-minute time-second - <dfn>timespec-base</dfn> = timespec-hour / timespec-minute / timespec-second - - <dfn>time</dfn> = timespec-base [time-fraction] [time-zone] <span - class='add'>[time-zone-id]</span> - - <dfn>iso-date-time</dfn> = date "<span - class='str'>T</span>" time -</pre> - </div> - </section> - <section> - <h2> - Derived Durations ABNF - </h2> - <div - style='display: table; width: 0; margin-left: 3em; margin-right: auto'> -<pre - class="bnf"> - - <dfn>dur-second</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>S</span>" - <dfn>dur-minute</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>M</span>" [dur-second] - <dfn>dur-hour</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>H</span>" [dur-minute] - <dfn>dur-time</dfn> = "T" (dur-hour / dur-minute / dur-second) - <dfn>dur-day</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>D</span>" - <dfn>dur-week</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>W</span>" - <dfn>dur-month</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>M</span>" [dur-day] - <dfn>dur-year</dfn> = <span - class='rep'>1</span>*<cite - class='key'>DIGIT</cite> "<span - class='str'>Y</span>" [dur-month] - <dfn>dur-date</dfn> = (dur-day / dur-month / dur-year) [dur-time] - - <dfn>duration</dfn> = "<span - class='str'>P</span>" (dur-date / dur-time / dur-week) -</pre> - </div> - </section> - <section> - <h2> - Derived Periods ABNF - </h2> - <div - style='display: table; width: 0; margin-left: 3em; margin-right: auto'> -<pre - class="bnf"> - - <dfn>period-explicit</dfn> = iso-date-time "<span - class='str'>/</span>" iso-date-time - <dfn>period-start</dfn> = iso-date-time "<span - class='str'>/</span>" duration - <dfn>period-end</dfn> = duration "<span - class='str'>/</span>" iso-date-time - - <dfn>period</dfn> = period-explicit / period-start / period-end -</pre> - </div> - </section> - </section> </body> </html>
Received on Wednesday, 11 August 2010 11:52:46 UTC