Avatar ·

كيفية تحليل وإنشاء تاريخ/وقت مع أجزاء من الثواني وUTC بتنسيق ISO 8601 / RFC 3339 في Swift؟

مرحباً بالجميع! أنا مبتدئ في Swift وواجهت مشكلة أثناء العمل مع التواريخ. أحتاج إلى إرسال واستقبال الطوابع الزمنية من وإلى الخادم بتنسيق ISO 8601 مع أجزاء من الثواني والمنطقة الزمنية UTC. مثال على هذه السلسلة: "2024-03-15T14:30:45.123Z".\n\nالمشكلة هي أن `DateFormatter` القياسي في Swift لا يعالج أجزاء الثواني بشكل صحيح دائمًا. جربت هذا الكود:\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\nلكن هذا لا يعمل بشكل مستقر. أحيانًا ينجح التحليل، وأحيانًا لا. خاصة إذا تغير عدد الأرقام بعد النقطة (مثل ".12" أو ".