2010-12-05 32 views

Respuesta

0
DateTime.Parse(@"14/04/2010 10:14:49.PM"); 

que debería funcionar, no cerca de VS en el momento así que no puedo probarlo

+0

esto tiene un formato de fecha/mes ambiguo, por lo que no funcionará en algunos escenarios – Myster

+0

Estoy de acuerdo con Myster. El comportamiento depende de la configuración regional. – jdehaan

+0

Suponiendo que este es el formato correcto de DateTimeFormatInfo.CurrentInfo, esto debería funcionar. – MerickOWA

1
DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss"); 
5
var date = DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss.tt", null); 

Para uso representación de cadena

date.ToString(@"dd/MM/yyyy hh:mm:ss.tt"); 

También puede crear método de extensión como esto:

public enum MyDateFormats 
    { 
     FirstFormat, 
     SecondFormat 
    } 

    public static string GetFormattedDate(this DateTime date, MyDateFormats format) 
    { 
     string result = String.Empty; 
     switch(format) 
     { 
      case MyDateFormats.FirstFormat: 
      result = date.ToString("dd/MM/yyyy hh:mm:ss.tt"); 
      break; 
     case MyDateFormats.SecondFormat: 
      result = date.ToString("dd/MM/yyyy"); 
      break; 
     } 

     return result; 
    } 
+1

La representación de cadena debe usar hh en lugar de HH. Durante el análisis, la diferencia no es tan grande, pero para el resultado obtendría 23h en lugar de 11h (PM) – jdehaan

+0

Sí, tiene razón, se actualizó. –

+0

No compila. –

0

función Uso convertido

using System; 
using System.IO; 

namespace stackOverflow 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 

      Console.WriteLine(Convert.ToDateTime("14/04/2010 10:14:49.PM")); 
      Console.Read(); 

     } 
    } 
} 
+0

Esto fue un error de lanzamiento, así que tuve que analizar el usuario – dotnetrocks

0

recomiendo el uso de DateTime.ParseExact como el método Parse se comporta de forma ligeramente diferente de acuerdo a la configuración actual de localización hilo.

DateTime.ParseExact(yourString, 
    "dd/MM/yyyy hh:mm:ss.tt", null) 
3
DateTime result =DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy HH:mm:ss.tt",null); 

Ahora puede ver el PM o AM y valor nulo para el proveedor de formato

Cuestiones relacionadas