2016-07-09 13 views
0
@IBAction func onDateChanged(sender: AnyObject) { 
    let dateFormatter = NSDateFormatter() 

    // dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle 
    dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle 

    let strDate = dateFormatter.stringFromDate(datePicker.date) 

    let timeinterval = NSTimeInterval.abs(17 * 60) //time in seconds 
    let newDate = strDate.dateByAddingTimeInterval(-timeinterval) 
    // ERROR =- on the above line I get an error saying that type String does not have a method called dateByAddingTimeInterval, however I made the string a NSDate value in the variable newDate. 


    print("\(strDate) is the date on the datePicker @") 
} 

Hallo, wie Sie mich klar den String-Wert des Datumsauswahl in eine NSDate in Zeile 7 umgewandelt sehen können, aber es ist immer noch nicht lassen Sie mir die Methode dateByAddingTimeInterval verwenden weil es immer noch denkt, dass es eine Zeichenfolge ist. Jede Hilfe oder Vorschläge werden sehr geschätzt. Danke im Voraus!Convert String NSDate aber noch nicht dateByAddingTimeInterval Methode Zugriff auf

Antwort

0

Es sieht so aus, als hätten Sie das Gegenteil von dem getan, von dem Sie dachten, dass Sie es taten. dateFormatter.stringFromDate(datePicker.date) wandelt eine NSDate in eine String um. Wenn dies Ihre Absicht war, sollten Sie Ihr Zeitintervall dem Datum hinzufügen, bevor Sie es in eine String konvertieren. Wie so.

let timeinterval = NSTimeInterval.abs(17 * 60) //time in seconds 
let newDate = datePicker.date.dateByAddingTimeInterval(-timeinterval) 
let strDate = dateFormatter.stringFromDate(newDate) 
print("\(strDate) is the date on the datePicker @")