hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit b959ecbc8175e2bf260f10b08965531bce9bcb7e
parent 70e454812ef684d02ffa881becf0f8ce6a1b5f8c
Author: satotake <doublequotation@gmail.com>
Date:   Tue, 26 Oct 2021 02:49:44 +0900

htime: Set zone of datetime from from `go-toml`

`go-toml/v2`'s unmarshaler does not specify zone name even if value has
offset explicitly.
To make time-formatting behaviour consistent, convert them into string
in hugo.

Close #8895
Diffstat:
Mcommon/htime/time.go | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/common/htime/time.go b/common/htime/time.go
@@ -136,6 +136,11 @@ func ToTimeInDefaultLocationE(i interface{}, location *time.Location) (tim time.
 		return vv.AsTime(location), nil
 	case toml.LocalDateTime:
 		return vv.AsTime(location), nil
+	// issue #8895
+	// datetimes parsed by `go-toml` have empty zone name
+	// convert back them into string and use `cast`
+	case time.Time:
+		i = vv.Format(time.RFC3339)
 	}
 	return cast.ToTimeInDefaultLocationE(i, location)
 }