C# Deserialization of JSON data - date problem
C#
1
Posts
1
Posters
0
Views
1
Watching
-
I've always had a problem with dates, whether it's PHP or C#... And so the program is to use data in the dd.MM.yyyy format And YYY-MM-DD data comes from the API And there is a problem to reconcile it. The data reads correctly from the API. And then it gets shitty. For me, USER DATA should return what I expect, i.e. dd.MM.yyyy but how to make him do it? before deserialization is: Response from the server: [{"id":"1","date":"2016-01-08" User Data from JSON: 0001-01-01, Duration: 0000
private async Task>> GetBlogPostsAsync()
{
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
var blogPosts = new Dictionary>();try { var client = new RestClient("https://mojlink/"); var request = new RestRequest("api.php?action=get\_posts", Method.Get); var response = await client.ExecuteAsync(request); Console.WriteLine("Odpowiedź z serwera:"); Console.WriteLine(response.Content); if (response.StatusCode == HttpStatusCode.OK) { // Sprawdź, czy odpowiedź zawiera poprawne dane JSON if (!string.IsNullOrWhiteSpace(response.Content)) { var posts = JsonConvert.DeserializeObject\>(response.Content); foreach (var post in posts) { var jsonDate = post.Date.ToString("yyyy-MM-dd"); Console.WriteLine($"Data z JSON: {jsonDate}, Czas trwania: {post.Duration}"); if (DateTime.TryParseExact(jsonDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate)) { if (!blogPosts.ContainsKey(parsedDate)) { blogPosts.Add(parsedDate, new List()); } blogPosts\[parsedDate\].Add(post.Duration); } else { // Jeśli nie udało się sparsować daty, zapisz informację do logów Console.WriteLine($"Nieprawidłowy format daty: {post.Date}")