Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

time: MarshalJSON() throws error on negative years #7566

gopherbot opened this issue Mar 17, 2014 · 2 comments

time: MarshalJSON() throws error on negative years #7566

gopherbot opened this issue Mar 17, 2014 · 2 comments


Copy link

@gopherbot gopherbot commented Mar 17, 2014

by verdverm:

go version devel +2bce43d48503 Mon Mar 17 12:07:30 2014 -0700 linux/amd64

What steps reproduce the problem?

try to MarshalJSON a negative date (i.e. negative year)

What happened?
Time.MarshalJSON throws an error from a check on the year range [0-9999]

It is if statement in MarshalJSON that produces the error

This seems artificial, since I remember reading somewhere (which I can't find now...),
that Go's date can go back as far as 4000 something BC

What should have happened instead?

A negative date should be produced, in accordance with RFC-3339.
The play link shows that the RFC3339 format produces the correct output.
I think just the check needs to be modified or removed.

This is the same for MarshalText.

Please provide any additional information below.

I figure it's about time, pardon the unintentional pun, that I give back to the Go
community. So I'd like to fix the issue as well, if that's ok with you all.
Copy link

@ianlancetaylor ianlancetaylor commented Mar 17, 2014

Comment 1:

Labels changed: added repo-main, release-go1.3.

Copy link

@rsc rsc commented Mar 24, 2014

Comment 2:

Status changed to Duplicate.

Merged into issue #4556.

@rsc rsc added this to the Go1.3 milestone Apr 14, 2015
@rsc rsc removed the release-go1.3 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.