From 10f9aca639f018760466ad271482e2897e40de38 Mon Sep 17 00:00:00 2001 From: russtone Date: Sat, 3 Feb 2018 13:00:37 +0300 Subject: [PATCH] Add time.Time (RFC 3339) support to defaultDecoderConfig --- viper.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/viper.go b/viper.go index ad8a037..2cda5c4 100644 --- a/viper.go +++ b/viper.go @@ -767,8 +767,8 @@ func (v *Viper) Unmarshal(rawVal interface{}) error { return nil } -// defaultDecoderConfig returns default mapsstructure.DecoderConfig with suppot -// of time.Duration values & string slices +// defaultDecoderConfig returns default mapsstructure.DecoderConfig with support +// of time.Duration and time.Time (RFC 3339) values and string slices func defaultDecoderConfig(output interface{}) *mapstructure.DecoderConfig { return &mapstructure.DecoderConfig{ Metadata: nil, @@ -776,6 +776,7 @@ func defaultDecoderConfig(output interface{}) *mapstructure.DecoderConfig { WeaklyTypedInput: true, DecodeHook: mapstructure.ComposeDecodeHookFunc( mapstructure.StringToTimeDurationHookFunc(), + mapstructure.StringToTimeHookFunc(time.RFC3339), mapstructure.StringToSliceHookFunc(","), ), }