- 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