2017-03-15 1 views
0
datePicker.addTarget(self, action: #selector(datePickerChanged(datePicker:)), for: UIControlEvents.valueChanged) 

    dateFormat() 

} //this works 
func dateFormat() { 
    let today = NSDate() 
    let dateFormatter = DateFormatter() 
    let short = DateFormatter.Style.short 
    dateFormatter.dateStyle = short 
    dateFormatter.dateFormat = "MM-dd-YYYY" 
    let startDate = dateFormatter.string(from: datePicker.date) 
    dateLbl.text = startDate 

    //this works but datePicker date when moved will not update 
    let thirtyDays = NSCalendar.current.date(byAdding: Calendar.Component.day,value: 30, to: today as Date) 
    let tomorrowSixty = dateFormatter.string(from: thirtyDays!) 
    sixtyDay.text = tomorrowSixty 

} 
func datePickerChanged(datePicker:UIDatePicker){ 
    dateFormat() 

} 

} 
+0

dateLbl의 출처는 어디입니까? – onnoweb

+0

dateLbl은 콘센트입니다. IBOutlet weak var datePicker : UIDatePicker! IBOutlet weak var dateLbl : UILabel! IBOutlet weak var sixtyDay : UILabel! – rpbones531

답변

0

업데이트되지 않습니다.

이제 sixtyDay 레이블을 datePicker 날짜의 30 일 이후의 날짜로 설정하려면 datePicker.date을 오늘 날짜 대신 date(byAdding:)으로 사용해야합니다.

func dateFormat() { 

    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "MM-dd-yyyy" 
    let startDate = dateFormatter.string(from: datePicker.date) 
    dateLbl.text = startDate 

    //this works but datePicker date when moved will not update 
    let thirtyDays = Calendar.current.date(byAdding: .day, value: 30, to: datePicker.date) 
    let tomorrowSixty = dateFormatter.string(from: thirtyDays!) 
    sixtyDay.text = tomorrowSixty 
} 

func datePickerChanged(datePicker:UIDatePicker){ 
    dateFormat() 
} 

참고 : 당신이 다음 필요 DateFormatterdateStyle을 설정하지 않으려면 DateFormatterdateFormat을 설정하는 경우에는 올바른 년 포맷터 yyyy하지 YYYY입니다.

+0

그것이 효과가 있습니까? –

+0

datepicker 다이얼을 이동하면 빌드의 sixtyDay.text가 업데이트되지 않습니다 ... dateLbl.text에서는 날짜가 변경되지만 sixtyday.text에서는 변경되지 않으며 동일한 현재 날짜로 유지됩니다 – rpbones531

+0

@ rpbones531 편집 된 응답 변경 확인 'let thirtyDays = Calendar.current.date (byAdday : value, 30, to : datePicker.date) '행 –

관련 문제