2016-07-09 1 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 @") 
} 

Здравствуйте, как вы можете видеть, что я четко преобразовал значение строки выбора даты в NSDate в строке 7, но она до сих пор не позволил мне использовать метод dateByAddingTimeInterval потому что он все еще думает, что это строка. Любая помощь или предложения приветствуются. Заранее спасибо!Преобразовать Строка NSDate, но до сих пор не имеет доступа метод dateByAddingTimeInterval

ответ

0

Похоже, вы сделали противоположное тому, что, как вы думали, вы делали. dateFormatter.stringFromDate(datePicker.date) преобразует NSDate в String. Если это было вашим намерением, вы должны добавить свой временной интервал к дате перед преобразованием в String. Вот так.

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 @")