Exemple #1
0
        // Token: 0x060000BF RID: 191 RVA: 0x00006628 File Offset: 0x00004828
        private bool TryGetTimestampFromName(string name, out DateTime timestamp)
        {
            ExTraceGlobals.ServiceTracer.TraceDebug <string>((long)this.GetHashCode(), "MsExchangeLogSearch LogMoniter TryGetTimestampFromName {0}", name);
            timestamp = default(DateTime);
            int num = name.Length - this.extension.Length - "yyyyMMddTHHmmssfff".Length;

            if (num < this.prefix.Length)
            {
                return(false);
            }
            int year;

            if (!LogMonitor.TryGetDigits(name, num, 4, out year))
            {
                return(false);
            }
            num += 4;
            int month;

            if (!LogMonitor.TryGetDigits(name, num, 2, out month))
            {
                return(false);
            }
            num += 2;
            int day;

            if (!LogMonitor.TryGetDigits(name, num, 2, out day))
            {
                return(false);
            }
            num += 2;
            if (name[num++] != 'T')
            {
                return(false);
            }
            int hour;

            if (!LogMonitor.TryGetDigits(name, num, 2, out hour))
            {
                return(false);
            }
            num += 2;
            int minute;

            if (!LogMonitor.TryGetDigits(name, num, 2, out minute))
            {
                return(false);
            }
            num += 2;
            int second;

            if (!LogMonitor.TryGetDigits(name, num, 2, out second))
            {
                return(false);
            }
            num += 2;
            int millisecond;

            if (!LogMonitor.TryGetDigits(name, num, 3, out millisecond))
            {
                return(false);
            }
            num += 3;
            try
            {
                timestamp = new DateTime(year, month, day, hour, minute, second, millisecond);
            }
            catch (ArgumentException)
            {
                return(false);
            }
            return(true);
        }