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));
¿Fue útil?

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 ?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top