Avatar ·

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

Bonjour à tous ! Je suis débutant en Swift et j'ai rencontré un problème avec la gestion des dates. Je dois envoyer et recevoir des timestamps au format ISO 8601 avec des secondes fractionnaires et le 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 ".