Jak sformatować datę JSON uzyskaną ze strony twitter na C# DateTime? Oto format daty otrzymam:Data JSON z tweetera do formatu C#
"Tue, 19 Feb 2013 13:06:17 +0000"
Mogę to zrobić z Json.NET?
Jak sformatować datę JSON uzyskaną ze strony twitter na C# DateTime? Oto format daty otrzymam:Data JSON z tweetera do formatu C#
"Tue, 19 Feb 2013 13:06:17 +0000"
Mogę to zrobić z Json.NET?
rozwiązany z wykorzystaniem DateTime.ParseExact
Dzięki za link, następnym razem proszę tutaj, format daty postu, parsowanie daty na Twitterze to częste zadanie. – Nanoc
To datetimeoffset nie DateTime. Następujące powinny działać.
DateTimeOffset parsed = DateTimeOffset.Parse("Tue, 19 Feb 2013 13:06:17 +0000");
Część kodu z odpowiedzi przepływu.
public const string Const_TwitterDateTemplate = "ddd MMM dd HH:mm:ss +ffff yyyy";
DateTime createdAt = DateTime.ParseExact((string)jo["created_at"], Const_TwitterDateTemplate, new System.Globalization.CultureInfo("en-US"));
Powyższe odpowiedzi za pomocą specyfikatora formatu ffff wydają się zwracać prawidłowy wynik, ale pod względem technicznym jest to błędne. ffff to specyfikator formatu na dziesięć tysięcznych sekundy, a +0000 na dacie z Twittera wskazuje godziny i minuty przesunięte względem UTC. Patrz poniższy format:
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);
Wynik: 22.02.2017 15:49:01
można edytować wyliczanie DateTimeStyles powrotu czas lokalny zamiast UTC razie potrzeby.
Co się dzieje, gdy robisz 'DateTime.Parse ("Tue, 19 lutego 2013 13:06:17 +0000")'? –
Duplikat http://stackoverflow.com/questions/1551662/c-sharp-parse-json-date – Pete