Cómo analizar y crear fecha/hora con segundos fraccionarios y UTC en formato ISO 8601 / RFC 3339 en Swift?
¡Hola a todos! Soy nuevo en Swift y me encontré con un problema al trabajar con fechas. Necesito enviar al servidor y recibir del servidor marcas de tiempo en formato ISO 8601 con segundos fraccionarios y zona horaria UTC. Un ejemplo de dicha cadena: "2024-03-15T14:30:45.123Z".
El problema es que el `DateFormatter` estándar en Swift no siempre maneja correctamente los segundos fraccionarios. Probé este código:
```swift
let dateString = "2024-03-15T14:30:45.123Z"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let date = formatter.date(from: dateString) {
print("Date: \(date)")
} else {
print("Failed to parse")
}
```
Pero esto funciona de manera inestable. A veces el parsing funciona, a veces no. Especialmente si la cantidad de dígitos después del punto cambia (por ejemplo, ".12" o ".123456"). También probé usar `ISO8601DateFormatter`, pero allí también surgen complicaciones con los segundos fraccionarios.
Necesito:
1) Analizar de manera confiable cadenas con segundos fraccionarios de diferente precisión (de 1 a 6 dígitos).
2) Crear
No answers yet.
Inicia sesión para dejar una respuesta