Wenn ich eine Datetime-Zeichenfolge in einem seltsamen Format wie YYYY##MM##DD HH**M**SS
habe, wie kann ich eine neue Datetime-Objekt-Basis darauf erstellen? Ich habe etwas über die Datetimeformatinfoclass gelesen, aber nicht sicher, wie es funktioniert ..Parse DateTime in C# aus seltsamen Format
Antwort
Sie können DateTime.ParseExact verwenden oder DateTime.TryParseExact für Daten, die Sie in beispielsweise nicht sicher sind:
using System;
class Test
{
static void Main()
{
string formatString = "yyyy'##'MM'##'dd' 'HH'*'mm'*'ss";
string sampleData = "2010##02##10 07*22*15";
Console.WriteLine(DateTime.ParseExact(sampleData,
formatString,
null));
}
}
die Anführungszeichen im Format-String sind nicht unbedingt notwendig - dies funktionieren wird. zu:
string formatString = "yyyy##MM##dd HH*mm*ss";
bedeutet jedoch, die Anführungszeichen sind Sie explizit zu sein, dass die Zeichen zwischen den Anführungszeichen sind buchstäblich verwendet werden, und nicht als Muster Zeichen verstanden - also, wenn Sie geändert „#“ auf „/“ Die Version mit Anführungszeichen würde definitiv "/" verwenden, während die ve rsion ohne würde einen kulturspezifischen Wert verwenden.
Die null
im Aufruf von ParseExact
bedeutet „die aktuelle Kultur nutzen“ - in diesem Fall ist es unwahrscheinlich, dass viel Unterschied, aber eine allgemein nützliche Alternative CultureInfo.InvariantCulture
zu machen.
Es ist bedauerlich, dass es keine Möglichkeit gibt, die BCL zu veranlassen, die Formatzeichenfolge zu analysieren und die Information beizubehalten; Mein eigenes Noda Time Projekt korrigiert diese Situation, und ich hoffe, dass es das Parsen und Formatieren viel schneller macht - aber im Moment ist es bei weitem nicht produktionsbereit.
Sie können DateTime.ParseExact Methode verwenden und das Format übergeben, das Sie benötigen.
Dies ist der effizienteste Weg, eine 'Zeichenkette' zu' DateTime' zu parsen. Parsing mit '.Parse()' und '.TryParse()' ohne Format Info ist f..king verdammt langsam! –
- 1. DateTime Format in C#
- 2. Import Textdatei mit seltsamen Format in C#
- 3. C# DateTime Parse subtrahiert einen Tag im ISO-Format
- 4. C Sharp DateTime Format
- 5. Parse DateTime Zeichenfolge in JavaScript
- 6. Standard-DateTime-Format festlegen C#
- 7. Parse CIM_DateTime zu .Net DateTime
- 8. JSON Parse-Datetime
- 9. Parse ISO 8601 zu C# DateTime
- 10. Parse-Wert aus dem Format ConstString1_Value_conString2
- 11. Parse von String zu DateTime
- 12. Parse String zu Datetime
- 13. Parse-String zu Datetime mit parse genau
- 14. Format DateTime zu SQL
- 15. Datetime string format alignment
- 16. .Net: DateTime String-Format
- 17. PHP: Parse-Datum von lokalisierten Format
- 18. Sortierung Tables in Datetime-Format
- 19. WPF-Format DateTime in TextBlock?
- 20. Müssen String in DateTime-Format in C# konvertiert werden
- 21. DateTime in C#
- 22. Symfony Datetime-Feld Format
- 23. MYSQL falsch DATETIME Format
- 24. SonataAdminBundle: DateTime Picker-Format
- 25. Datetime Format Probleme
- 26. Format datetime Zeitzone
- 27. Datetime .ToString (Format)
- 28. Wie Format Datetime [PHPExcel]
- 29. xpath für übereinstimmendes DateTime-Format
- 30. jodatime -> Parse Fehler utc Datetime String
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx hat die relevante Analyse, wenn Sie Ihren eigenen formatString bereitstellen – Tanzelax