{"action":"opened","issue":{"url":"https://api.github.com/repos/playframework/playframework/issues/5427","labels_url":"https://api.github.com/repos/playframework/playframework/issues/5427/labels{/name}","comments_url":"https://api.github.com/repos/playframework/playframework/issues/5427/comments","events_url":"https://api.github.com/repos/playframework/playframework/issues/5427/events","html_url":"https://github.com/playframework/playframework/issues/5427","id":124214440,"number":5427,"title":"[2.4.3] Builtin json.Writes[java.time.Instant] breaks value on non-UTC systems","user":{"login":"makkarpov","id":1329592,"avatar_url":"https://avatars.githubusercontent.com/u/1329592?v=3","gravatar_id":"","url":"https://api.github.com/users/makkarpov","html_url":"https://github.com/makkarpov","followers_url":"https://api.github.com/users/makkarpov/followers","following_url":"https://api.github.com/users/makkarpov/following{/other_user}","gists_url":"https://api.github.com/users/makkarpov/gists{/gist_id}","starred_url":"https://api.github.com/users/makkarpov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/makkarpov/subscriptions","organizations_url":"https://api.github.com/users/makkarpov/orgs","repos_url":"https://api.github.com/users/makkarpov/repos","events_url":"https://api.github.com/users/makkarpov/events{/privacy}","received_events_url":"https://api.github.com/users/makkarpov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-29T13:52:50Z","updated_at":"2015-12-29T13:52:50Z","closed_at":null,"body":"A simple test case to reproduce it (ran on machine with time zone `GMT+3`/`MSK`):\r\n\r\n````scala\r\nimport java.time.Instant\r\nimport play.api.libs.json._\r\n\r\nval n = Instant.now()\r\nprintln(\"1: \" + n)              // 1: 2015-12-29T13:28:17.407Z\r\nval j = Json.stringify(Json.toJson(n))\r\nprintln(\"json: \" + j);          // json: \"2015-12-29T16:28:17.407\"\r\nval nn = Json.parse(j).as[Instant]\r\nprintln(\"2: \" + nn)             // 2: 2015-12-29T16:28:17.407Z\r\n````\r\n\r\nSo, as you can see, Play default serializer serializes it at local timezone, but parses at UTC. It should both parse and serialize at UTC timezone."}}