github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/binding/decoders/parse_time.go (about)

     1  package decoders
     2  
     3  import (
     4  	"time"
     5  )
     6  
     7  func parseTime(vals []string) (time.Time, error) {
     8  	var t time.Time
     9  	var err error
    10  
    11  	// don't try to parse empty time values, it will raise an error
    12  	if len(vals) == 0 || vals[0] == "" {
    13  		return t, nil
    14  	}
    15  
    16  	for _, layout := range timeFormats {
    17  		t, err = time.Parse(layout, vals[0])
    18  		if err == nil {
    19  			return t, nil
    20  		}
    21  	}
    22  
    23  	if err != nil {
    24  		return t, err
    25  	}
    26  
    27  	return t, nil
    28  }