El análisis de las fechas exactas en C# no te obligan a crear una IFormatProvider
-
09-06-2019 - |
Pregunta
Por favor alguien me corrija si estoy equivocado, pero el análisis de una aaaa/MM/dd (o otros formatos específicos) fechas en C# debe ser tan fácil como
DateTime.ParseExact(theDate, "yyyy/MM/dd");
pero no, el C# te obliga a crear un IFormatProvider.
Hay una aplicación.config amistoso de la configuración de este modo no tengo que hacer esto cada vez?
DateTime.ParseExact(theDate, "yyyy/MM/dd", new CultureInfo("en-CA", true));
Solución
El IFormatProvider argumento puede ser nulo.
Otros consejos
ParseExact necesidades de una cultura :considere la posibilidad de "aaaa MMM dd".MMM va a ser un localizada mes nombre que utiliza la cultura actual.
El uso de la aplicación actual de la cultura:
DateTime.ParseExact("2008/12/05", "yyyy/MM/dd", System.Globalization.CultureInfo.CurrentCulture);
Puede configurar la aplicación de la cultura en la aplicación.config mediante la Globalización de la etiqueta.Creo que.
Crear un método de extensión:
public static DateTime ParseExactDateTime(this string dateString, string formatString) {
return DateTime.ParseExact(dateString, formatString, new CultureInfo("en-CA", true));
}
Se requiere que el proveedor de formato con el fin de determinar la fecha y hora de símbolos y cadenas (como los nombres de los días de la semana en un idioma en particular).Usted puede utilizar un valor nulo, en cuyo caso el objeto CultureInfo que corresponde a la actual, se utiliza la cultura.
Si usted no quiere tener que especificar cada vez, crear un método de extensión que tampoco pasa null o CultureInfo("en-CA", true) como el proveedor de formato.
También puede simplemente crear el IFormatProvider una vez y se almacenan para su uso posterior.
También puede utilizar la clase Convert
Convert.ToDateTime("2008/11/25");
//Convertir fecha a formato compatible con MySql
DateTime DateValue = Convert.ToDateTime(datetimepicker.de texto);
cadena de datevalue = Fechanumero.ToString("yyyy-MM-dd");
Lo que está mal con el uso de la Globalización.CultureInfo.InvariantCulture ?