298c298,311 < func marshalUTCTime(out *forkableWriter, t time.Time) (err error) { --- > func marshalFourDigits(out *forkableWriter, v int) (err error) { > var x,i int > for i = 1000;i > 0; i/=10 { > x = val / i > val %= i > err = out.WriteByte(byte('0' + x)) > if err != nil { > return > } > } > return out.WriteByte(byte('0' + x)) > } > > func marshalTime(out *forkableWriter, t time.Time) (err error) { 305a319,320 > case 2050 >= year: > err = marshalFourDigits(out, int(year)) 381c396 < return marshalUTCTime(out, value.Interface().(time.Time)) --- > return marshalTime(out, value.Interface().(time.Time))