0
votes

JSONCONVERT DESERIALISER AU FORMAT DE DATE DE DATE DE MACHET .NET

J'ai une API Web de base .NET CORE où renvoyez une donnée ci-dessous lorsque l'appel de Xamarin formulaires xxx pré>

i utilise jsonconverter.deserializeObject Méthode sur objet .NET, le code ci-dessous P>

 public class ViewModel
{
    public int Id { get; set; }

      ............

    public DateTime ShipmentDate { get; set; }

    public string ShipmentDateString
    {
        get
        {
            return ShipmentDate.ToString("dd-MM-yyyy");
        }
    }
}


7 commentaires

Non ce n'est pas. Un DateTime n'a pas de format, tout ce que vous utilisez pour l'afficher, le mettez-le dans ce format. Si vous souhaitez le voir de manière spécifique, vous devez le convertir en une chaîne avec la localisation et / ou le format spécifié.


Je ne suis pas sûr de quoi parlez-vous parce que la dateTime en tant qu'objet n'a pas de format, est-ce que votre récepteur l'API le reçoit comme une chaîne puis essaie de l'analyser ou quelque chose?


S'il vous plaît regarder ici , peut-être que cela répondra votre besoin


Est-ce que cela répond à votre question? C # DateTime à "yyyymmddhhmmss" format


@iakobski merci pour la direction. Je viens de convertir l'objet en un type de données de chaîne et de le formater dans l'API avant de retourner au client. Merci. Voici la question similaire Stackoverflow.com/questions/26509140/...


@BubbleBub nous montre le code où vous faites cela - le problème n'est pas dans le code que vous avez montré ci-dessus.


@IAKOBSKI J'ajoutez une nouvelle propriété à cordes pour la date dans My ViewModel dans WebAPI et formatez-le au format de date dont j'avais besoin.


4 Réponses :


-1
votes

Vous pouvez soit régler la culture correcte de l'environnement que vous utilisez (si vous vous plaintenez que le débogueur affiche le format que vous n'aimez pas), ou vous pouvez spécifier directement le format:

Console.WriteLine(ShipmentDate.ToString("dd/MM/yyyy HH:mm:ss"));


0 commentaires

-1
votes

Vous pouvez le convertir en votre format de date de date spécifié tout en les désérialisant:

 var format = "dd/MM/yyyy"; // your datetime format
 var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = format };
 var result = JsonConvert.DeserializeObject<Logis[]>(returnJson,dateTimeConverter);


0 commentaires

2
votes

Vous pouvez essayer de gérer cette méthode: xxx

et l'utiliser de cette façon: xxx


3 commentaires

Pas clair pourquoi cela a été avancé, l'OP a été en mesure de désérialiser dans une date d'heure sans aucun problème. Il demande un format M / D / Y VERSUS D / M / Y


Ceci est un exemple de code, vous définiriez le format Accord votre besoin, c'est une seule idée


Oui, c'est un bon exemple, mais cela ne traite pas du problème de l'OP.



0
votes

voir Cette Réponse avec coutume Classe de format DateTime ajouté en tant que balise sur votre propriété DateTime xxx


0 commentaires