private static DateFormatResult GetStandardFormat(char c, IFormatProvider provider) { DateTimeFormatInfo dtfi = null; if (provider != null) { dtfi = (DateTimeFormatInfo)provider.GetFormat(typeof(DateTimeFormatInfo)); } if (dtfi == null) { dtfi = DateTimeFormatInfo.CurrentInfo; } DateFormat df = null; bool useUtc = false; switch (c) { case 'd': df = dtfi.CreateDateFormat(DateFormat.SHORT, -1); break; case 'D': df = dtfi.CreateDateFormat(DateFormat.LONG, -1); break; case 'f': df = dtfi.CreateDateFormat(DateFormat.LONG, DateFormat.SHORT); break; case 'F': df = dtfi.CreateDateFormat(DateFormat.LONG, DateFormat.LONG); break; case 'g': df = dtfi.CreateDateFormat(DateFormat.SHORT, DateFormat.SHORT); break; case 'G': df = dtfi.CreateDateFormat(DateFormat.SHORT, DateFormat.LONG); break; case 't': df = dtfi.CreateDateFormat(-1, DateFormat.SHORT); break; case 'T': df = dtfi.CreateDateFormat(-1, DateFormat.LONG); break; case 'U': df = dtfi.CreateDateFormat(DateFormat.LONG, DateFormat.LONG); useUtc = true; break; } if (df != null) { return(new DateFormatResult(df, false, useUtc)); } return(null); }