fecha de formato en c #

¿Cómo puedo formatear una fecha como dd/mm/yyyy o mm/dd/yy ?

Me gusta en format("dd/mm/yy",now) VB format("dd/mm/yy",now)

¿Cómo puedo hacer esto en C #?

Es casi lo mismo, simplemente use el método DateTime.ToString() , por ejemplo:

 DateTime.Now.ToString("dd/MM/yy"); 

O:

 DateTime dt = GetDate(); // GetDate() returns some date dt.ToString("dd/MM/yy"); 

Además, es posible que desee considerar el uso de uno de los formatos de fecha / hora predefinidos, por ejemplo:

 DateTime.Now.ToString("g"); // returns "02/01/2009 9:07 PM" for en-US // or "01.02.2009 21:07" for de-CH 

Esto asegura que el formato será correcto, independientemente de la configuración regional actual.

Consulte las siguientes páginas de MSDN para obtener más información

  • Método DateTime.ToString ()
  • Cadenas estándar de formato de fecha y hora
  • Cadenas personalizadas de formato de fecha y hora

Alguna información adicional relacionada:

Si desea mostrar una fecha en un entorno / cultura específica, entonces hay una sobrecarga del método ToString() que toma un IFormatProvider :

 DateTime dt = GetDate(); dt.ToString("g", new CultureInfo("en-US")); // returns "5/26/2009 10:39 PM" dt.ToString("g", new CultureInfo("de-CH")); // returns "26.05.2009 22:39" 

O, como alternativa, puede establecer CultureInfo del hilo actual antes de formatear una fecha:

 Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); dt.ToString("g"); // returns "5/26/2009 10:39 PM" Thread.CurrentThread.CurrentCulture = new CultureInfo("de-CH"); dt.ToString("g"); // returns "26.05.2009 22:39" 
 string.Format("{0:dd/MM/yyyy}", DateTime.Now) 

Busque “cadenas de formato” en MSDN para ver todas las opciones de formato.

Use yy , yyyy , M , MM , MMM , MMMM , d , dd , ddd , dddd para el componente de fecha

Use h , hh , H , HH , m , mm , s , ss para el componente de hora del día

En ti también puedes escribir

 DateTime aDate = new DateTime(); string s = aDate.ToShortDateString(); 

para una notación corta

o

 DateTime aDate = new DateTime(); string s = aDate.ToLongDateString(); 

para una notación larga como “Domingo, 1 de febrero de 2009”.

O eche un vistazo a MSDN para ver las posibilidades de .ToString (“???”);

Prueba esto :

 String.Format("{0:MM/dd/yyyy}", DateTime.Now); // 01/31/2009 String.Format("{0:dd/MM/yyyy}", DateTime.Now); // 31/01/2009 String.Format("{dd/MM/yyyy}", DateTime.Now); // 31/01/2009 

Mejor aún, use solo

 DateTime.Now.ToString() 

o

 DateTime.Now.ToString(CultureInfo.CurrentCulture) 

para usar el formato que el usuario prefiere.

Me encontré con el mismo problema. Lo que tenía que hacer era agregar una referencia en la parte superior de la clase y cambiar CultureInfo del hilo que se está ejecutando actualmente.

 using System.Threading; string cultureName = "fr-CA"; Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName); DateTime theDate = new DateTime(2015, 11, 06); theDate.ToString("g"); Console.WriteLine(theDate); 

Todo lo que tiene que hacer es cambiar el nombre de la cultura, por ejemplo: “en-US” = Estados Unidos “fr-FR” = francés de habla francesa “fr-CA” = francés de habla canadiense, etc …

Creo que esto es simple ya que puedes convertir cualquier formato sin ningún tipo de confusión

  DateTime.ParseExact(txt.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));