Convert time.Duration to proper string
diff --git a/convert.go b/convert.go
index 31e41e6..6b575fb 100644
--- a/convert.go
+++ b/convert.go
@@ -5,6 +5,7 @@
 package flags
 
 import (
+	"fmt"
 	"reflect"
 	"strconv"
 	"strings"
@@ -57,6 +58,12 @@
 
 	tp := val.Type()
 
+	// Support for time.Duration
+	if tp == reflect.TypeOf((*time.Duration)(nil)).Elem() {
+		stringer := val.Interface().(fmt.Stringer)
+		return stringer.String(), nil
+	}
+
 	switch tp.Kind() {
 	case reflect.String:
 		return val.String(), nil