2014-10-03 2 views

ответ

2

Короткий ответ - System.Threading.Thread.CurrentThread.CurrentCulture;

Длинный ответ - Source скажет вам правду:

public static TimeSpan Parse(String s) { 
    /* Constructs a TimeSpan from a string. Leading and trailing white space characters are allowed. */ 
    return TimeSpanParse.Parse(s, null); 
} 

и методы пара глубоко в коде:

public static DateTimeFormatInfo GetInstance(IFormatProvider provider) { 

    // Fast case for a regular CultureInfo 
    DateTimeFormatInfo info; 
    CultureInfo cultureProvider = provider as CultureInfo; 
    if (cultureProvider != null && !cultureProvider.m_isInherited) 
    { 
     return cultureProvider.DateTimeFormat; 
    } 

    // Fast case for a DTFI; 
    info = provider as DateTimeFormatInfo; 
    if (info != null) { 
     return info; 
    } 

    // Wasn't cultureInfo or DTFI, do it the slower way 
    if (provider != null) { 
     info = provider.GetFormat(typeof(DateTimeFormatInfo)) as DateTimeFormatInfo; 
     if (info != null) { 
      return info; 
     } 
    } 

    // Couldn't get anything, just use currentInfo as fallback 
    return CurrentInfo; 
} 

CurrentInfo определен следующим образом:

public static DateTimeFormatInfo CurrentInfo { 
    get { 
     Contract.Ensures(Contract.Result<DateTimeFormatInfo>() != null); 
     System.Globalization.CultureInfo culture = System.Threading.Thread.CurrentThread.CurrentCulture; 
     if (!culture.m_isInherited) { 
      DateTimeFormatInfo info = culture.dateTimeInfo; 
      if (info != null) { 
       return info; 
      } 
     } 
     return (DateTimeFormatInfo)culture.GetFormat(typeof(DateTimeFormatInfo)); 
    } 
} 
Смежные вопросы