Conversión de formato de cadena a fecha y hora en mm / dd / aaaa

Tengo que convertir una cadena en formato mm / dd / aaaa a fecha y hora, pero debe permanecer en formato mm / dd / aaaa.

string strDate = DateTime.Now.ToString("MM/dd/yyyy"); 

Por favor ayuda.

Está buscando el método DateTime.Parse() ( artículo de MSDN )

Entonces puedes hacer:

 var dateTime = DateTime.Parse("01/01/2001"); 

Lo cual le dará un objeto tipo DateTime .

Si necesita especificar qué formato de fecha desea usar, usaría DateTime.ParseExact ( artículo de MSDN )

Que usaría en una situación como esta (donde está usando un formato de fecha de estilo británico):

 string[] formats= { "dd/MM/yyyy" } var dateTime = DateTime.ParseExact("01/01/2001", formats, new CultureInfo("en-US"), DateTimeStyles.None); 

Necesitas una M mayúscula para la parte del mes.

 string strDate = DateTime.Now.ToString("MM/dd/yyyy"); 

Minúscula m es para emitir (y analizar) un minuto (como h:mm ).

por ejemplo, una cadena de fecha y hora completa podría tener este aspecto:

 string strDate = DateTime.Now.ToString("MM/dd/yyyy h:mm"); 

Observe la diferencia mM mayúscula / minúscula.


Además, si siempre trata con la misma cadena de formato de fecha y hora, puede hacerlo más fácil escribiéndolos como métodos de extensión de C #.

 public static class DateTimeMyFormatExtensions { public static string ToMyFormatString(this DateTime dt) { return dt.ToString("MM/dd/yyyy"); } } public static class StringMyDateTimeFormatExtension { public static DateTime ParseMyFormatDateTime(this string s) { var culture = System.Globalization.CultureInfo.CurrentCulture; return DateTime.ParseExact(s, "MM/dd/yyyy", culture); } } 

EJEMPLO: Traducir entre DateTime / string

 DateTime now = DateTime.Now; string strNow = now.ToMyFormatString(); DateTime nowAgain = strNow.ParseMyFormatDateTime(); 

Tenga en cuenta que NO hay forma de almacenar una información de formato de fecha y DateTime personalizada para utilizarla de manera default ya que en .NET, la mayoría del formato de cadenas depende de la cultura establecida actualmente, es decir,

 System.Globalization.CultureInfo.CurrentCulture. 

La única manera fácil que puede hacer es rodar un método de extensión personalizado.

Además, la otra manera fácil sería utilizar una clase diferente de “contenedor” o “contenedor” para su DateTime, es decir, una clase especial con explicit operator definido que se traduce automáticamente desde y hacia DateTime / string. Pero ese es un territorio peligroso.

Me gustó esto

 var datetoEnter= DateTime.ParseExact(createdDate, "dd/mm/yyyy", CultureInfo.InvariantCulture); 

También puede cambiar el formato haciendo esto

 string fecha = DateTime.Now.ToString(format:"dd-MM-yyyy"); 

// esto cambia el "/" para el "-"

Solución

 DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) 

El siguiente funciona para mi.

 string strToday = DateTime.Today.ToString("MM/dd/yyyy");