Je voudrais créer une liste de tuple de fois comme ça; toutes les heures allant de 0 à 23.Créer une liste d'intervalles de temps Swift 3
tuple = [(2017-03-24 00:00:00 +0000, 0.0), (2017-03-24 00:01:00 +0000, 0.0), (2017-03-24 00:02:00 +0000, 0.0), (2017-03-24 00:03:00 +0000, 0.0)]
J'ai essayé d'utiliser ce code qui me donnera les heures et les minutes, mais je ne peux pas à comprendre comment soit ajouter le mois, le jour et l'année. Ou ajustez le format de date dans le Struct.
Nous vous remercions de votre aide. Voici la structure que j'utilise ...
import Foundation
struct TimeDay {
let start: TimeInterval
let end: TimeInterval
let interval: TimeInterval
init(start: TimeInterval, interval: TimeInterval, end: TimeInterval) {
self.start = start
self.interval = interval
self.end = end
}
init(startHour: TimeInterval, intervalMinutes: TimeInterval, endHour: TimeInterval) {
self.start = startHour * 60 * 60
self.end = endHour * 60 * 60
self.interval = intervalMinutes * 60
}
var timeRepresentations: [String] {
let dateComponentFormatter = DateComponentsFormatter()
dateComponentFormatter.unitsStyle = .positional
dateComponentFormatter.allowedUnits = [.minute, .hour]
let dateComponent = NSDateComponents()
return timeIntervals.map { timeInterval in
dateComponent.second = Int(timeInterval)
return dateComponentFormatter.string(from: dateComponent as DateComponents)!
}
}
var timeIntervals: [TimeInterval]{
return Array(stride(from: start, through: end, by: interval))
}
}
Cela fonctionne parfaitement pour ce que je voulais, et j'ai compris comment utiliser la date actuelle, puis 24 heures en arrière. Maintenant, ce dont j'ai besoin, c'est de passer d'un tableau à un tuple comme [(date: String, amount: Double)] ... De plus, toutes les valeurs dans le tuple vont être 0.0 pour commencer. – Denis