2009-04-05 7 views
2

j'ai ce jour commeformat de date convertion

string date = calarc.SelectedDate.ToString("MM/dd/yyyy"); 

où calarc est le contrôle de la calandre.

Il renvoie une date au format 14/03/2009 mais je le veux au format 14/03/2009.

alors comment faire ci-dessus?

+0

Etes-vous sûr !? Probablement cette ligne retourne correctement mais quelque chose d'autre est faux. Comment vérifiez-vous le résultat? –

+0

oui j'en suis sûr. et peut être le problème est comme Sergej Andrejev a dit. – Vikas

Répondre

4

Je pense que votre culture actuelle est de déconner avec le format. Essayez

DateTime.Parse("2009-03-14").ToString(@"MM/dd/yyyy", CultureInfo.InvariantCulture) 

Comme il semble "/" est vraiment une syntaxe de séparateur (similaire à M, d, y ou autre). C'est pourquoi il est remplacé par un séparateur spécifié en culture. Ceci est noté dans documentation aussi.

Si le motif personnalisé comprend le modèle de format "/", DateTime.ToString affiche la valeur de DateSeparator à place du "/" dans le format modèle .

0

ligne Untested code -

string.Format("mm-dd-yyyy", calarc.SelectedDate); 
0
string.Format("{0:MM/dd/yyyy}",calarc.SelectedDate); 
1

Le/caractère dans le spécificateur de format ne fait pas ce que vous pensez. Ce n'est pas un caractère littéral qui est copié dans la chaîne, mais plutôt un spécificateur pour le séparateur de date, qui dans la culture actuelle est le caractère.

Pour utiliser les caractères littéraux dans le format il suffit de mettre autour d'eux apostrophes:

string date = calarc.SelectedDate.ToString("MM'/'dd'/'yyyy");