• Russ Cox's avatar
    time: accept .999 in Parse · dcc46388
    Russ Cox authored
    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
    dcc46388
format.go 27.4 KB