data di formato in c #

Come posso formattare una data come dd/mm/yyyy o mm/dd/yy ?

Come in format("dd/mm/yy",now) VB format("dd/mm/yy",now)

Come posso farlo in C #?

È quasi la stessa cosa, usa semplicemente il metodo DateTime.ToString() , ad esempio:

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

O:

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

Inoltre, potresti prendere in considerazione l’utilizzo di uno dei formati di data / ora predefiniti, ad esempio:

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

Questi assicurano che il formato sia corretto, indipendentemente dalle impostazioni locali correnti.

Controllare le seguenti pagine MSDN per ulteriori informazioni

  • DateTime.ToString () metodo
  • Stringhe di formato di data e ora standard
  • Stringhe di formato di data e ora personalizzate

Alcune informazioni aggiuntive correlate:

Se si desidera visualizzare una data in una specifica lingua / cultura, esiste un sovraccarico del metodo ToString() che accetta 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" 

In alternativa, puoi impostare CultureInfo del thread corrente prima di formattare una 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) 

Cerca “stringhe di formato” su MSDN per vedere tutte le opzioni di formattazione.

Utilizzare yy , yyyy , M , MM , MMM , MMMM , d , dd , ddd , dddd per il componente della data

Utilizzare h , hh , H , HH , m , mm , s , ss per il componente dell’ora

In puoi anche scrivere

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

per una breve notazione

o

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

per una notazione lunga come “Domenica, 1 febbraio 2009”.

O date un’occhiata a MSDN per le possibilità di .ToString (“???”);

Prova questo :

 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 

Meglio ancora, usa solo

 DateTime.Now.ToString() 

o

 DateTime.Now.ToString(CultureInfo.CurrentCulture) 

per usare il formato che l’utente preferisce.

Mi sono imbattuto nello stesso problema. Quello che dovevo fare era aggiungere un riferimento all’inizio della class e modificare CultureInfo del thread attualmente in esecuzione.

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

Tutto quello che devi fare è cambiare il nome della cultura, ad esempio: “en-US” = Stati Uniti “fr-FR” = Francia francofona “fr-CA” = Canada francofono ecc …

Penso che questo sia semplice in quanto puoi convertire da e verso qualsiasi formato senza alcuna confusione

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