2010-01-01 6 views

Répondre

14
var userdateformat = DateTime.ParseExact("20101020", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); 

Modifier comme vous voulez modifier.

+0

Merci, ça m'aide beaucoup. –

-3
string strStartDateMain = "20100102"; 
string strStartDateFinal = new DateTime(Convert.ToInt32strStartDateMain.Substring(0, 4)), Convert.ToInt32(strStartDateMain.Substring(4, 2)), Convert.ToInt32(strStartDateMain.Substring(6))).ToString("dd/MM/yyyy"); 
+0

J'ai obtenu cette réponse en faisant de la R & D sur ce sujet. Ici Si nous avons une chaîne comme "20100102", Que nous pouvons obtenir une sortie comme "02/01/2010" – Ashish

+3

Bah, ce n'est vraiment pas la façon de le faire. – Noldorin

+0

Date d'analyse personnalisée FTL. Ne réinventez pas la roue. – Aaronaught

9
IFormatProvider culture = new CultureInfo("en-EN", false); // use your culture info 
DateTime dt = DateTime.ParseExact(myDateTimeString, "yyyyMMdd", culture, DateTimeStyles.NoCurrentDateDefault); 

aaaaMMjj est le format d'entrée ici.

Et puis si vous le souhaitez le convertir en chaîne:

String output = String.Format("{0:dd/MM/yyyy}", dt); 
+0

Droit - sauf qu'il est probablement logique d'utiliser 'CultureInfo.CurrentCulture' ou' CultureInfo.InvariantCulture' en fonction du scénario. – Noldorin

+0

J'ai changé le remplacement de l'utilisateur à false. Donc, il utilise par défaut maintenant. Mais cela ne causera aucun problème, même si cela l'emporte. Ou ai-je tort? – JCasso

9
var result = DateTime.ParseExact("20100102", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); 

Modifier au besoin.

Questions connexes