Ejemplo n.º 1
0
        private static string ParseTimeSpanAssumptions(string timeSpan, TimeSpanAssumption noColonAssumption)
        {
            if (timeSpan != null && noColonAssumption != TimeSpanAssumption.None && timeSpan.IndexOf(':') == -1)
            {
                switch (noColonAssumption)
                {
                case TimeSpanAssumption.Seconds:
                    timeSpan = "00:00:" + timeSpan;
                    break;

                case TimeSpanAssumption.Minutes:
                    timeSpan += ":00";
                    break;

                case TimeSpanAssumption.Hours:
                    timeSpan += ":00:00";
                    break;

                case TimeSpanAssumption.Days:
                    timeSpan += ".0:00:00:00";
                    break;
                }
            }

            return(timeSpan);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Parses the time span. TimeSpan.Parse does not accept
        /// a plus (+) designator, only minus (-). This parse method
        /// accepts both. Does not throw any exceptions, but returns
        /// false on failure. Return true on success.
        /// </summary>
        /// <param name="timeSpan">The time span.</param>
        /// <param name="noColonAssumption">The no colon assumption.</param>
        /// <param name="result">The result.</param>
        /// <returns></returns>
        public static bool TryParseTimeSpan(string timeSpan, TimeSpanAssumption noColonAssumption, out TimeSpan result)
        {
            if (timeSpan != null && timeSpan[0] == '+')
            {
                timeSpan = timeSpan.Substring(1);
            }

            timeSpan = ParseTimeSpanAssumptions(timeSpan, noColonAssumption);

            return(TimeSpan.TryParse(timeSpan, out result));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Parses the time span. TimeSpan.Parse does not accept
        /// a plus (+) designator, only minus (-). This parse method
        /// accepts both.
        /// </summary>
        /// <param name="timeSpan">The time span.</param>
        /// <param name="noColonAssumption">The no colon assumption.</param>
        /// <returns></returns>
        public static TimeSpan ParseTimeSpan(string timeSpan, TimeSpanAssumption noColonAssumption)
        {
            if (timeSpan != null && timeSpan[0] == '+')
            {
                timeSpan = timeSpan.Substring(1);
            }

            timeSpan = ParseTimeSpanAssumptions(timeSpan, noColonAssumption);
            if (timeSpan == "24:00")
            {
                timeSpan = "0:00:00";
            }
            return(TimeSpan.Parse(timeSpan));
        }
Ejemplo n.º 4
0
        private static string ParseTimeSpanAssumptions(string timeSpan, TimeSpanAssumption noColonAssumption)
        {
            if (timeSpan != null && noColonAssumption != TimeSpanAssumption.None && timeSpan.IndexOf(':') == -1)
            {
                switch (noColonAssumption)
                {
                    case TimeSpanAssumption.Seconds:
                        timeSpan = "00:00:" + timeSpan;
                        break;
                    case TimeSpanAssumption.Minutes:
                        timeSpan += ":00";
                        break;
                    case TimeSpanAssumption.Hours:
                        timeSpan += ":00:00";
                        break;
                    case TimeSpanAssumption.Days:
                        timeSpan += ".0:00:00:00";
                        break;
                }
            }

            return timeSpan;
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Parses the time span. TimeSpan.Parse does not accept
        /// a plus (+) designator, only minus (-). This parse method
        /// accepts both. Does not throw any exceptions, but returns
        /// false on failure. Return true on success.
        /// </summary>
        /// <param name="timeSpan">The time span.</param>
        /// <param name="noColonAssumption">The no colon assumption.</param>
        /// <param name="result">The result.</param>
        /// <returns></returns>
        public static bool TryParseTimeSpan(string timeSpan, TimeSpanAssumption noColonAssumption, out TimeSpan result)
        {
            if (timeSpan != null && timeSpan[0] == '+')
            {
                timeSpan = timeSpan.Substring(1);
            }

            timeSpan = ParseTimeSpanAssumptions(timeSpan, noColonAssumption);

            return TimeSpan.TryParse(timeSpan, out result);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Parses the time span. TimeSpan.Parse does not accept
        /// a plus (+) designator, only minus (-). This parse method
        /// accepts both.
        /// </summary>
        /// <param name="timeSpan">The time span.</param>
        /// <param name="noColonAssumption">The no colon assumption.</param>
        /// <returns></returns>
        public static TimeSpan ParseTimeSpan(string timeSpan, TimeSpanAssumption noColonAssumption)
        {
            if (timeSpan != null && timeSpan[0] == '+')
            {
                timeSpan = timeSpan.Substring(1);
            }

            timeSpan = ParseTimeSpanAssumptions(timeSpan, noColonAssumption);
            if (timeSpan == "24:00")
                timeSpan = "0:00:00";
            return TimeSpan.Parse(timeSpan);
        }