J'ai rencontré un problème lorsque DateComponentsFormatter
renvoie un nombre d'unités inattendu. Est-ce que quelqu'un a fait face au même problème?DateComponentsFormatter renvoie un nombre erroné de nombre d'unités
import Foundation
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full;
formatter.maximumUnitCount = 1;
let date = Date(timeIntervalSinceNow: -14.7 * 24 * 60 * 60)
let dateString = formatter.string(from: date, to: Date()) // 2 weeks 1 day
Je m'attends à recevoir "2 semaines", mais j'ai "2 semaines 1 jour".
Pourquoi utilisez-vous '14.7'? – shallowThought
@shallowThought J'ai défini 'maximumUnitCount' - le formatter ne doit pas renvoyer plus d'une unité. –
FYI - Utiliser 'Date (timeIntervalSinceNow: -14.7 * 24 * 60 * 60)' est une façon terrible de faire des calculs de date. Pas tous les jours a 24 heures. Pas toutes les heures a 3600 secondes. Utilisez l'une des méthodes 'Calendar date (byAdding ...)'. – rmaddy