[whatwg] Time Parsing

On Mon, 28 Mar 2011, Lachlan Hunt wrote:
>
>   The algorithm to parse a time component contains a bug.
> 
> When parsing the seconds, the spec states:
> 
>   "Collect a sequence of characters that are either characters in the
>    range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9) or U+002E FULL
>    STOP characters. If the collected sequence has more than one U+002E
>    FULL STOP characters, or if the last character in the sequence is a
>    U+002E FULL STOP character, then fail. Otherwise, let the collected
>    string be second instead of its previous value."
> 
> This is incorrect because it allows the second component to contain more 
> than 2 digits before the decimal point.  i.e. "00:00:012.345" would 
> parsed without error.

Fixed.


> This should also only allow up to 3 digits representing milliseconds. If 
> there are 4 or more digits (microseconds or beyond), the spec should 
> state that the remaining digits should be truncated.

Why?

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 14 June 2011 22:55:07 UTC