2009-09-11 5 views
11

je le code suivant dans le fichier behind d'une page ASP.NetC# DateTime ToString ("MM-dd-yyyy") retourne drôle de jour des valeurs

txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy"); 

que je compte retourner « 09-11 -2009 ". Toutefois, lorsque j'exécute la page sur le serveur de développement, je vois "09-00-2009" dans la zone de texte. Je ne vois aucune raison pour cela, alors il me manque clairement quelque chose. Quelqu'un a une idée?

+0

même chose fonctionne bien pour moi. Peut-être que votre horloge système est foiré? – ryber

+0

vérifier avec ToString ("MM-jj-aaaa"); et avec ToString ("MM-dddd-yyyy"); et voyez ce que vous obtenez ... Si vous ne voyez AUCUN changement, alors la chaîne de format yr ne va pas à la page retournée d'une façon ou d'une autre ... Si vous voyez 09-Mon-2009 et 09-Lundi-2009 off –

Répondre

7

Ce format string devrait fonctionner comme prévu. Je vérifierais votre zone de texte pour m'assurer que vous n'avez pas de masque (AJAX MaskedEditExtender?) Dessus. Si vous l'avez fait, et que le masque est peut-être incorrect, il risque d'écraser ce que vous avez placé dans la zone de texte.

+0

Il a l'AJAX CalendarExtender, mais la chaîne de format pour les deux est identique. –

+0

C'était comme ça - j'avais fait une erreur en copiant la chaîne de format pour l'extension. –

14

Je ne peux pas penser pourquoi il montrerait 00, mais comme une suggestion au hasard, vous pouvez essayer:

... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture); 
0

pouvez-vous vérifier Datetime, Now.ToString()?

+0

Oui, j'ai vérifié cela - même résultat. –

4

Essayez quelque chose comme ceci:

DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US")) 
+0

Merci pour ce bon conseil. –

0

Utilisez .Maintenant pour obtenir l'heure locale

txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy"); 
Questions connexes