TryParseTime() 공개 정적인 메소드

Parse value from “12:34” to seconds from “00:00”
public static TryParseTime ( [ value, int &totalSeconds ) : bool
value [ Value in “12:34” (or “12:34:56”) format.
totalSeconds int Seconds from “00:00”.
리턴 bool
예제 #1
0
 protected override bool TryParse(string value, out int parsed)
 {
     return(FlexibleParser.TryParseTime(value, out parsed));
 }
예제 #2
0
        public static bool TimeDiapasonContains([NotNull] this string s, int value, bool roundSingle = true)
        {
            if (s == null)
            {
                throw new ArgumentNullException(nameof(s));
            }

            return(s.Split(',', ';').Select(x => x.Trim()).Any(part => {
                int n = part.IndexOf('-'), fromValue, toValue;
                if (n == 0)
                {
                    var m = part.IndexOf('-', n + 1);
                    if (m != -1 && m != 1)
                    {
                        n = m;
                    }
                }

                if (n > 0 && n < part.Length - 1)   // "x-y"
                {
                    if (FlexibleParser.TryParseTime(part.Substring(0, n), out fromValue) &&
                        FlexibleParser.TryParseTime(part.Substring(n + 1), out toValue))
                    {
                        return value >= fromValue && value <= toValue;
                    }
                }
                else if (n < 0)     // "x"
                {
                    if (FlexibleParser.TryParseTime(part, out fromValue))
                    {
                        if (roundSingle)
                        {
                            var delimiters = part.Count(':');
                            return fromValue.Equals(delimiters == 2 ? value : delimiters == 1 ? value.Floor(60) : value.Floor(60 * 60));
                        }

                        return Equals(fromValue, value);
                    }
                }
                else if (part.Length == 1)     // "-"
                {
                    return true;
                }
                else if (n == part.Length - 1)     // "x-"
                {
                    if (FlexibleParser.TryParseTime(part.Substring(0, n), out fromValue))
                    {
                        return value >= fromValue;
                    }
                }
                else     // "-x"
                {
                    if (FlexibleParser.TryParseTime(part.Substring(n + 1), out toValue))
                    {
                        return value <= toValue;
                    }
                }

                return false;
            }));
        }