Avatar ·

Comment analyser et créer une date/heure avec secondes fractionnaires et UTC au format ISO 8601 / RFC 3339 en Swift ?

Bonjour à tous ! Je suis nouveau en Swift et j'ai rencontré un problème en travaillant avec les dates. Je dois envoyer au serveur et recevoir du serveur des timestamps au format ISO 8601 avec secondes fractionnaires et fuseau horaire UTC. Exemple d'une telle chaîne : "2024-03-15T14:30:45.123Z".\n\nLe problème est que le `DateFormatter` standard en Swift ne gère pas toujours correctement les secondes fractionnaires. J'ai essayé ce code :\n\n```swift\nlet dateString = "2024-03-15T14:30:45.123Z"\nlet formatter = DateFormatter()\nformatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"\nif let date = formatter.date(from: dateString) {\n print("Date: \\(date)")\n} else {\n print("Failed to parse")\n}\n```\n\nMais cela fonctionne de manière instable. Parfois l'analyse réussit, parfois non. Surtout si le nombre de chiffres après le point change (par exemple, ".12" ou ".