sandbox: fix missing timezone data

The gvisor sandbox containers were missing tzinfo, as the busybox image
does not include it.

Updates golang/go#38727

Change-Id: Idc2c705e3ee31de1411507bb3abdf1afb28eeda9
Reviewed-on: https://go-review.googlesource.com/c/playground/+/231057
Run-TryBot: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/sandbox/Dockerfile.gvisor b/sandbox/Dockerfile.gvisor
index 464aaec..6e3a758 100644
--- a/sandbox/Dockerfile.gvisor
+++ b/sandbox/Dockerfile.gvisor
@@ -14,5 +14,6 @@
 FROM busybox:glibc
 
 COPY --from=server /usr/local/bin/play-sandbox /usr/local/bin/play-sandbox
+COPY --from=server /usr/share/zoneinfo /usr/share/zoneinfo
 
 ENTRYPOINT ["/usr/local/bin/play-sandbox"]
diff --git a/tests.go b/tests.go
index 840a5e7..6c60e62 100644
--- a/tests.go
+++ b/tests.go
@@ -570,4 +570,29 @@
 	<-c
 }
 `, want: "timeout running program"},
+	{
+		name: "timezone_info_exists",
+		prog: `
+package main
+
+import (
+	"fmt"
+	"time"
+)
+
+func main() {
+	loc, _ := time.LoadLocation("Europe/Berlin")
+
+	// This will look for the name CEST in the Europe/Berlin time zone.
+	const longForm = "Jan 2, 2006 at 3:04pm (MST)"
+	t, _ := time.ParseInLocation(longForm, "Jul 9, 2012 at 5:02am (CEST)", loc)
+	fmt.Println(t)
+
+	// Note: without explicit zone, returns time in given location.
+	const shortForm = "2006-Jan-02"
+	t, _ = time.ParseInLocation(shortForm, "2012-Jul-09", loc)
+	fmt.Println(t)
+
+}
+`, want: "2012-07-09 05:02:00 +0200 CEST\n2012-07-09 00:00:00 +0200 CEST\n"},
 }