func IsDateTime(str string) bool {
	if len(str) < 4 {
		return false
	}
	s := strings.Split(strings.ToLower(str), "t")
	if len(s) < 2 || !IsDate(s[0]) {
		return false
	}

	matches := rxDateTime.FindAllStringSubmatch(s[1], -1)
	if len(matches) == 0 || len(matches[0]) == 0 {
		return false
	}
	m := matches[0]
	res := m[1] <= "23" && m[2] <= "59" && m[3] <= "59"
	return res
}
func IsDateTime(str string) bool {
	if len(str) < 4 {
		return false
	}
	s := strings.Split(strings.ToLower(str), "t")
	if len(s) < 2 || !IsDate(s[0]) {
		return false
	}

	matches := rxDateTime.FindAllStringSubmatch(s[1], -1)
	if len(matches) == 0 || len(matches[0]) == 0 {
		return false
	}
	m := matches[0]
	res := m[1] <= "23" && m[2] <= "59" && m[3] <= "59"
	return res
}
func IsDateTime ( str string ) bool { if len ( str ) < 4 { return false } s := strings . Split ( strings . ToLower ( str ) , " " ) if len ( s ) < 2 || ! IsDate ( s [ 0 ] ) { return false } matches := rxDateTime . FindAllStringSubmatch ( s [ 1 ] , - 1 ) if len ( matches ) == 0 || len ( matches [ 0 ] ) == 0 { return false } m := matches [ 0 ] res := m [ 1 ] <= " " && m [ 2 ] <= " " && m [ 3 ] <= " " return res }
// IsDateTime returns true when the string is a valid date-time
IsDateTime returns true when the string is a valid date - time