Ich kann die Datumsunterschiedfunktion nicht funktionieren. Es sagt NSDate
ist nicht implizit in "Datum" umwandelbar, aber ich sehe keine unmittelbare Arbeit um diese; mit as Date
funktioniert nicht.Den Unterschied in zwei Daten erhalten - Swift
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var dateLabelOutlet: UILabel!
let currentDate = NSDate()
let dateFormatter = DateFormatter()
let userCalendar = NSCalendar.current
let requestedComponent: NSCalendar.Unit = [
NSCalendar.Unit.month,
NSCalendar.Unit.day,
NSCalendar.Unit.hour,
NSCalendar.Unit.minute,
NSCalendar.Unit.second,
]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func printTime(){
dateFormatter.dateFormat = "dd/MM/yy hh:mm:ss a"
let startTime = NSDate()
let endTime = dateFormatter.date(from: "25/12/16 00:00:00")
let timeDifference = userCalendar.components(requestedComponent, from: startTime, to: endTime!, options: [])
dateLabelOutlet.text = "\(timeDifference.month) Months \(timeDifference.day) Days \(timeDifference.minute) Minutes \(timeDifference.second) Seconds"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Kann man nicht einfach 'NSDate' zu' Date' ersetzen, sind sie extrem ähnlich, wenn nicht identisch. Es gibt viele andere Fragen, die Ihnen sagen, wie Sie den Unterschied zwischen den Daten erhalten – Nik
Ich empfehle dringend die Verwendung des ISO-8601-Datumsformat anstelle einer DIY-Formatzeichenfolge. – alekop