Ich möchte eine Tupel-Liste von Zeiten wie so erstellen; jede Stunde gehen von 0 bis 23.Erstellen Sie eine Liste von Zeitintervall 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)]
Ich habe versucht, diesen Code zu verwenden, die mir die Stunden und Minuten geben, aber ich kann nicht scheinen, um herauszufinden, wie der aktuelle Monat, Tag und Jahr, um entweder mehr. Oder passen Sie das Datumsformat im Struct an.
Vielen Dank für Ihre Hilfe. Hier ist das Struct, das ich benutze ...
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))
}
}
Es funktioniert perfekt für das, was ich wollte, und ich habe herausgefunden, wie man das aktuelle Datum verwendet und dann 24 Stunden zurück. Nun, was ich brauche, ist von einem Array zu einem Tupel wie [(date: String, betrag: Double)] zu gelangen ... ... Außerdem wird jeder Wert im Tupel 0.0 sein, um zu starten. – Denis