func String2Seconds(s string) (secs int64, err error) {
	if len(s) > 10 { // human readable format
		var t time.Time
		t, err = time.Parse(timeLayout, s)
		if err == nil {
			secs = t.Unix()
		}
		return
	}

	// plain
	secs, err = strconv.ParseInt(s, 10, 64)
	if err == nil && (secs < 0 || secs >= math.MaxUint32) {
		err = fmt.Errorf("invalid time %q", s)
	}
	return
}
// String2Seconds converts s to epoch seconds. Input string s must be in the
// YYYYMMDDHHmmSS format or a plain unsigned decadic number < 2^32.
String2Seconds converts s to epoch seconds. Input string s must be in the
YYYYMMDDHHmmSS format or a plain unsigned decadic number < 2^32.
// String2Seconds converts s to epoch seconds . Input string s must be in the // YYYYMMDDHHmmSS format or a plain unsigned decadic number < 2^32 .
func String2Seconds(s string) (secs int64, err error) {
	if len(s) > 10 { 
		var t time.Time
		t, err = time.Parse(timeLayout, s)
		if err == nil {
			secs = t.Unix()
		}
		return
	}
	secs, err = strconv.ParseInt(s, 10, 64)
	if err == nil && (secs < 0 || secs >= math.MaxUint32) {
		err = fmt.Errorf("invalid time %q", s)
	}
	return
}
func String2Seconds ( s string ) ( secs int64 , err error ) { if len ( s ) > 10 { var t time . Time t , err = time . Parse ( timeLayout , s ) if err == nil { secs = t . Unix ( ) } return } secs , err = strconv . ParseInt ( s , 10 , 64 ) if err == nil && ( secs < 0 || secs >= math . MaxUint32 ) { err = fmt . Errorf ( " " , s ) } return }
String2Seconds converts s to epoch seconds.
String2Seconds converts s to epoch seconds .
// human readable format // plain