コード例 #1
0
        internal static bool TryParseDateTimeOffset(StringReference s, string dateFormatString, CultureInfo culture, out DateTimeOffset dt)
        {
            if (s.Length > 0)
            {
                int i = s.StartIndex;
                if (s[i] == '/')
                {
                    if (s.Length >= 9 && s.StartsWith("/Date(") && s.EndsWith(")/"))
                    {
                        if (TryParseDateTimeOffsetMicrosoft(s, out dt))
                        {
                            return(true);
                        }
                    }
                }
                else if (s.Length >= 19 && s.Length <= 40 && char.IsDigit(s[i]) && s[i + 10] == 'T')
                {
                    if (TryParseDateTimeOffsetIso(s, out dt))
                    {
                        return(true);
                    }
                }

                if (!string.IsNullOrEmpty(dateFormatString))
                {
                    if (TryParseDateTimeOffsetExact(s.ToString(), dateFormatString, culture, out dt))
                    {
                        return(true);
                    }
                }
            }

            dt = default;
            return(false);
        }
コード例 #2
0
 internal static bool TryParseDateTime(
     StringReference s,
     DateTimeZoneHandling dateTimeZoneHandling,
     string dateFormatString,
     CultureInfo culture,
     out DateTime dt)
 {
     if (s.Length > 0)
     {
         int startIndex = s.StartIndex;
         if (s[startIndex] == '/')
         {
             if (s.Length >= 9 && s.StartsWith("/Date(") && (s.EndsWith(")/") && DateTimeUtils.TryParseDateTimeMicrosoft(s, dateTimeZoneHandling, out dt)))
             {
                 return(true);
             }
         }
         else if (s.Length >= 19 && s.Length <= 40 && (char.IsDigit(s[startIndex]) && s[startIndex + 10] == 'T') && DateTimeUtils.TryParseDateTimeIso(s, dateTimeZoneHandling, out dt))
         {
             return(true);
         }
         if (!string.IsNullOrEmpty(dateFormatString) && DateTimeUtils.TryParseDateTimeExact(s.ToString(), dateTimeZoneHandling, dateFormatString, culture, out dt))
         {
             return(true);
         }
     }
     dt = new DateTime();
     return(false);
 }
コード例 #3
0
ファイル: DateTimeUtils.cs プロジェクト: zha0/Cerberus
 // Token: 0x06000D20 RID: 3360 RVA: 0x0004C6F4 File Offset: 0x0004A8F4
 internal static bool TryParseDateTimeOffset(StringReference s, [Nullable(2)] string dateFormatString, CultureInfo culture, out DateTimeOffset dt)
 {
     if (s.Length > 0)
     {
         int startIndex = s.StartIndex;
         if (s[startIndex] == '/')
         {
             if (s.Length >= 9 && s.StartsWith("/Date(") && s.EndsWith(")/") && DateTimeUtils.TryParseDateTimeOffsetMicrosoft(s, out dt))
             {
                 return(true);
             }
         }
         else if (s.Length >= 19 && s.Length <= 40 && char.IsDigit(s[startIndex]) && s[startIndex + 10] == 'T' && DateTimeUtils.TryParseDateTimeOffsetIso(s, out dt))
         {
             return(true);
         }
         if (!StringUtils.IsNullOrEmpty(dateFormatString) && DateTimeUtils.TryParseDateTimeOffsetExact(s.ToString(), dateFormatString, culture, out dt))
         {
             return(true);
         }
     }
     dt = default(DateTimeOffset);
     return(false);
 }
コード例 #4
0
 internal static bool TryParseDateTimeOffset(StringReference s, string dateFormatString, CultureInfo culture, out DateTimeOffset dt)
 {
     if (s.Length > 0)
     {
         int startIndex = s.StartIndex;
         if (s[startIndex] == '/')
         {
             if (((s.Length >= 9) && s.StartsWith("/Date(")) && (s.EndsWith(")/") && TryParseDateTimeOffsetMicrosoft(s, out dt)))
             {
                 return(true);
             }
         }
         else if ((((s.Length >= 0x13) && (s.Length <= 40)) && (char.IsDigit(s[startIndex]) && (s[startIndex + 10] == 'T'))) && TryParseDateTimeOffsetIso(s, out dt))
         {
             return(true);
         }
         if (!string.IsNullOrEmpty(dateFormatString) && TryParseDateTimeOffsetExact(s.ToString(), dateFormatString, culture, out dt))
         {
             return(true);
         }
     }
     dt = new DateTimeOffset();
     return(false);
 }
コード例 #5
0
        internal static bool TryParseDateTimeOffset(StringReference s, string dateFormatString, CultureInfo culture, out DateTimeOffset dt)
        {
            if (s.Length > 0)
            {
                int i = s.StartIndex;
                if (s[i] == '/')
                {
                    if (s.Length >= 9 && s.StartsWith("/Date(") && s.EndsWith(")/"))
                    {
                        if (TryParseDateTimeOffsetMicrosoft(s, out dt))
                        {
                            return true;
                        }
                    }
                }
                else if (s.Length >= 19 && s.Length <= 40 && char.IsDigit(s[i]) && s[i + 10] == 'T')
                {
                    if (TryParseDateTimeOffsetIso(s, out dt))
                    {
                        return true;
                    }
                }

                if (!string.IsNullOrEmpty(dateFormatString))
                {
                    if (TryParseDateTimeOffsetExact(s.ToString(), dateFormatString, culture, out dt))
                    {
                        return true;
                    }
                }
            }

            dt = default(DateTimeOffset);
            return false;
        }