]> Cypherpunks repositories - gostls13.git/commit
time: accept .999 in Parse
authorRuss Cox <rsc@golang.org>
Mon, 4 Jun 2012 17:09:19 +0000 (13:09 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 4 Jun 2012 17:09:19 +0000 (13:09 -0400)
commitdcc46388df62fafe81426b8dd888ed786f7db9fa
tree7108771f3654adfea8ab3a65d14600d613206c1c
parentcc1890cbe3053953a5967474c8fad5005aba4165
time: accept .999 in Parse

The recent shuffle in parsing formats exposed probably unintentional
behavior in time.Parse, namely that it was mostly ignoring ".99999"
in the format, producing the following behavior:

fmt.Println(time.Parse("03:04:05.999 MST", "12:00:00.888 PDT")) // error (.888 unexpected)
fmt.Println(time.Parse("03:04:05.999", "12:00:00")) // error (input too short)
fmt.Println(time.Parse("03:04:05.999 MST", "12:00:00 PDT"))  // ok (extra bytes on input make it ok)

http://play.golang.org/p/ESJ1UYXzq2

API CHANGE:

This CL makes all three examples valid: ".999" can match an
empty string or else a fractional second with at most nine digits.

Fixes #3701.

R=r, r
CC=golang-dev
https://golang.org/cl/6267045
src/pkg/time/format.go
src/pkg/time/time_test.go