2013-02-19 8 views
10

Wie formatiert man ein JSON-Datum, das man von Twitter erhält, in eine C# DateTime? Hier ist das Format des Datums I erhalten:JSON-Datum vom Hochtöner bis zum C# -Format

"Tue, 19 Feb 2013 13:06:17 +0000" 

Kann ich es mit JSON.NET tun?

+0

Was passiert, wenn Sie tun 'DateTime.Parse ("Di, 19. Februar 2013 13.06.17 +0000")'? –

+0

Duplizieren http://StackOverflow.com/Questions/1551662/c-sharp-Parse-JSon-Date – Pete

Antwort

1

Es ist nicht Datetimedatetime. Folgendes sollte funktionieren.

DateTimeOffset parsed = DateTimeOffset.Parse("Tue, 19 Feb 2013 13:06:17 +0000"); 
10

Teil des Codes aus der Antwort des Flusses.

3

Die Antworten oben, die den Formatbezeichner ffff verwenden, scheinen das korrekte Ergebnis zurückzugeben, aber technisch gesehen ist das falsch. ffff ist der Formatbezeichner für Zehntausendstelsekunden und der +0000-Wert in einem Twitter-Datum gibt die Stunden- und Minutenverschiebung von UTC an. Siehe das Format unter:

string twitterTime = "Wed Feb 22 15:49:01 +0000 2017"; 
string twitterTimeformat = "ddd MMM dd HH:mm:ss zzz yyyy"; 

DateTime dateTime = DateTime.ParseExact(twitterTime, twitterTimeformat, 
    CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal); 
Console.WriteLine(dateTime); 

Ergebnis: 2017.02.22 03.49.01

Sie können die Datetimestyles-Enumeration bearbeiten, um die Ortszeit statt UTC zurückzukehren, falls gewünscht.

Custom Date and Time Format Strings

DateTimeStyles Enumeration

Verwandte Themen