data de formato em c #

Como posso formatar uma data como dd/mm/yyyy ou mm/dd/yy ?

Como no format("dd/mm/yy",now) VB format("dd/mm/yy",now)

Como posso fazer isso em c #?

É quase o mesmo, simplesmente use o método DateTime.ToString() , por exemplo:

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

Ou:

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

Além disso, você pode querer considerar o uso de um dos formatos de data / hora predefinidos, por exemplo:

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

Eles garantem que o formato esteja correto, independente das configurações atuais do local.

Verifique as páginas do MSDN a seguir para obter mais informações.

  • Método DateTime.ToString ()
  • Strings de formato de data e hora padrão
  • Cadeias de formato de data e hora personalizadas

Algumas informações adicionais relacionadas:

Se você deseja exibir uma data em um local específico / cultura, em seguida, há uma sobrecarga do método ToString() que leva um 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" 

Ou, como alternativa, você pode definir o CultureInfo do segmento atual antes de formatar uma data:

 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) 

Procure “strings de formato” no MSDN para ver todas as opções de formatação.

Use yy , yyyy , M , MM , MMM , MMMM , d , dd , ddd , dddd para o componente de data

Use h , h , H , H , m , mm , s , ss para o componente de hora do dia

Em você também pode escrever

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

para uma notação curta

ou

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

para uma longa notação como “domingo, 1º de fevereiro de 2009”.

Ou dê uma olhada no MSDN para as possibilidades de .ToString (“???”);

Tente isto:

 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 

Melhor ainda, use apenas

 DateTime.Now.ToString() 

ou

 DateTime.Now.ToString(CultureInfo.CurrentCulture) 

para usar o formato que o usuário prefere.

Eu tive o mesmo problema. O que eu precisava fazer era adicionar uma referência no topo da class e alterar o CultureInfo do thread que está atualmente em execução.

 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); 

Tudo o que você precisa fazer é alterar o nome da cultura, por exemplo: “en-US” = Estados Unidos “fr-FR” = francês francês “fr-CA” = Canadá francófono etc …

Eu acho que isso é simples como você pode converter para e de qualquer formato sem qualquer confusão

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