Ich habe ein asp.net Textfeld für Datumseingabe, ich benutze regulären Ausdruck, um den Benutzer geben Datum im TT-MM-JJJJ-Format, aber wenn ich das Eingabedatum in Datetime-Objekt, den Monat und Tag Werte sind vertauscht. Wie kann man den richtigen Weg für die Interpretation dieses Eingabedatums angeben?Angeben von Datum Eingabeformat
Antwort
können Sie verwenden DateTime.ParseExact
Ich habe DateTime.ParseExact verwendet (this.txtFromDate.Text, "TT-MM-JJJJ", CultureInfo.CultureInvariant) Sei vorsichtig mit MM Großbuchstaben, denn es ist wichtig :-) Danke – Blerta
Sie können dies erreichen, indem eine Kultur angeben, die das Format dd-mm-yyyy wie Deutschland verwendet:
DateTime dateTime = DateTime.Parse("01-12-2009", CultureInfo.GetCultureInfo("de-DE"));
Console.WriteLine(dateTime.ToString("dd MMM yyyy"));
produziert:
01 Dec 2009
Natürlich wollen Sie wirklich alle tun Ihre kulturspezifische Verarbeitung in der Kultur Ihres Nutzers. So sollte CultureInfo.GetCultureInfo("de-DE")
CultureInfo.CurrentCulture
sein.
Und wenn Ihr Benutzer nicht gewohnt ist, Daten wie TT-MM-JJJJ zu sehen, dann verwenden Sie dieses Format nicht.
Ich habe DateTime.Parse() in der Vergangenheit verwendet.
Aber es klingt wie Sie Kultur Problem haben sind, so könnte dieser Ansatz besser:
// Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM";
culture = CultureInfo.CreateSpecificCulture("en-US");
styles = DateTimeStyles.None;
try
{
result = DateTime.Parse(dateString, culture, styles);
outputBlock.Text += String.Format("{0} converted to {1} {2}.",
dateString, result, result.Kind.ToString()) + "\n";
}
catch (FormatException)
{
//Error
}
Weitere Informationen über Msdn: http://msdn.microsoft.com/en-us/library/ey1cdcx8(VS.96).aspx
Aber man könnte auch das Datum der Zeit aufbauen, ob das funktioniert besser:
DateTime d = new DateTime(Y, M, D);
Ich schlage vor, DateTime.TryParseExact() zu verwenden und Ihr Datumsformat anzugeben.
Es klingt, als würde die App unter einer anderen Kultur laufen als erwartet von Ihnen als Benutzereingabe. Vielleicht möchten Sie change the culture zu dem, den Sie erwarten.
- 1. md-datepicker Eingabeformat
- 2. Git Pack-Datei Eingabeformat
- 3. Bootstrap 3 Eingabeformat auswählen
- 4. HTML 5 - Eingabeformat für Datumsformatierung unter iOS
- 5. Eingabeformat der NVM-Express-Übergabewarteschlange
- 6. Wie Datum und Uhrzeit in Python angeben?
- 7. Warum ist in HTML kein Eingabeformat ausgewählt?
- 8. mehrere Eingabeformat (ersetzen Komma mit Punkt)
- 9. Angeben von Django Modell Sortierung
- 10. Tesseract: Angeben von Textbereichen
- 11. Angeben von Standardparameter C++
- 12. Angeben von Bereitstellungsumgebungen
- 13. Angeben von Ganzzahlen
- 14. Angeben von Abhängigkeiten von Makefile
- 15. Drupal - Wie ändere ich das Eingabeformat für Kommentare?
- 16. Angeben von Versionsnummern in Bower
- 17. Angeben von Worttrennzeichen in WebStorm
- 18. Angeben von Attributwerten als CDATA
- 19. Angeben (Überschreiben) von JQuery-Symbolfarbe
- 20. Formatieren und Anzeigen von Datum in angularjs
- 21. Eingabeformat ändern, wenn Text nur mit CSS eingegeben wurde
- 22. Wie lautet das Eingabeformat für 3D-Daten für LIBSVM?
- 23. Wie man editEdit Eingabeformat in einem bestimmten Format einstellt
- 24. Wann sollten Sie ein benutzerdefiniertes Eingabeformat für Map-Aufträge verwenden?
- 25. Angeben von Stilen für Teile eines PyYAML-Speicherauszugs
- 26. Angeben von Zeit in einer SQL-Abfrage mit PHP
- 27. Von Datum und Datum Abfrage in Yii?
- 28. Gespeicherte Prozedur Datum von und Datum bis
- 29. Schienen - Datum von Datum und Zeitstempel erhalten
- 30. Datum von Datum in JavaScript extrahieren
Wie konvertieren Sie nach DateTime? –
Ich verwende DateTime fromDate = Convert.ToDateTime (this.txtFromDate.Text); – Blerta