Una cadena tiene el valor de «dd/MM/aaaa» formato «04/10/2012«. Esta debe ser convertida a una Fecha w.r.t Actual Cultura de OS.

He intentado por debajo de cuerda con coreano como la Actual Cultura del sistema operativo en el que el formato de la fecha es aaaa-MM-dd, mi código es no llegar correcto valor de Mes, es el intercambio el valor de mes con día:

De entrada: «04/10/2012»
Salida: 2012-04-10

Código:

DateTime DT;
string dt = "04/10/2012";

DateTimeFormatInfo DateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
DT = Convert.ToDateTime(String.Format ("{0:"+DateInfo .ShortDatePattern +"}", dt.Trim ()), CultureInfo .CurrentCulture);
MessageBox.Show("Date: " + DT.ToShortDateString());

Cómo puedo solucionar eso ?

InformationsquelleAutor Itz.Irshad | 2012-10-04

4 Comentarios

  1. 4

    A mí me parece que es necesario analizar con un formato fijo, creo que son en la actualidad el análisis con un formato distinto «dd/MM/aaaa» y porque la fecha es ambiguo (como en, el mes y el día se pueden intercambiar sin causar fechas no válidas) el formato es simplemente cambiar el mes y el día de valor. Cuando, a continuación, ir a la salida, se ve invertida.

    Uso DateTime.ParseExact para forzar el análisis de formato y, a continuación, utilizar el built-en la actual cultura de la cuerda sensible métodos de salida en DateTime para obtener una cadena con formato:

    var date = DateTime.ParseExact("04/10/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture);
    
    MessageBox.Show("Date: " + date.ToShortDateString()); //Assumes current culture is controlling format
  2. 2

    Desde su cadena de entrada en un formato fijo, usted debe analizar en ese formato:

    DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture);
  3. 1

    Si la cadena tiene el formato dd/MM/yyyy entonces usted han utilizar DateTime.ParseExact con el formato especificado:

    DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture);

    Nada más va a tratar de interpretar la cadena de acuerdo a la actual cultura de reglas que, como se ha encontrado, se producirá un error.

Dejar respuesta

Please enter your comment!
Please enter your name here