C # Datetime ToString ( „MM-dd-yyyy“) gibt lustige Tageswerte
-
05-07-2019 - |
Frage
Ich habe den folgenden Code in der Code-Behind-Datei einer ASP.Net Seite
txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy");
Was ich erwarten zurückzukehren „09-11-2009“. Allerdings, wenn ich die Seite auf dem Entwicklungsserver laufen, I „09-00-2009“ in dem Textfeld ein. Ich kann keinen Grund dafür sehen, so fehlt mir eindeutig etwas. Wer eine Ahnung hat?
Lösung
Der Format-String sollte wie erwartet funktionieren. Ich würde Ihre Textbox überprüfen, um sicherzustellen, dass Sie nicht über irgendeine Art von Maske (AJAX MaskedEditExtender?) Haben darauf. Wenn ja, und hatte vielleicht die Maske falsch, könnte es überschreiben, was Sie in der Textbox wurden setzen.
Andere Tipps
Ich kann nicht denken, warum es 00 zeigen würde, aber als Zufall Vorschlag könnten Sie versuchen:
... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
Versuchen Sie etwas wie folgt aus:
DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US"))
könnten Sie überprüfen, für Datum und Uhrzeit, Now.ToString ()?
Verwenden .Jetzt die lokale Zeit zu erhalten
txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy");