2017-03-22 119 views
1

我有一个应用程序,用户可以从中选择日期。如何设置明天选定日期的日期。例如,如果用户选择日期24其打印25,如果用户选择日期31其打印1.设置明天自定义日期swift

现在,我使用当前的日期设置明天的日期

let dates = Date() 
var tomorrow: Date { 
    return Calendar.current.date(byAdding: .day, value: 1, to: Date())! 
}   

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd" 

let dateOutDefault = dateFormatter.string(from: tomorrow as Date) 

如何使用做类似的东西自定义日期?

回答

3
import Foundation 

extension Date { 

    var tomorrow: Date? { 
     return Calendar.current.date(byAdding: .day, value: 1, to: self) 
    } 
} 

let today = Date() 

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "MMM dd, yyyy, HH:mm b" 

if let tomorrow = today.tomorrow { 
    let tomorrowString = dateFormatter.string(from: tomorrow) 
    print("\(tomorrowString)" // "Mar 23, 2017, 00:14 AM\n" 
} 
+0

非常感谢!有用! –

0
let dayComponenet = NSDateComponents() 
    dayComponenet.day = 1 

    let theCalendar = NSCalendar.currentCalendar() 
    let nextDate = theCalendar.dateByAddingComponents(dayComponenet, toDate: NSDate(), options: NSCalendarOptions(rawValue: UInt(0))) 
    print(nextDate); 

    let date = nextDate 
    let unitFlags: NSCalendarUnit = [.Hour, .Day, .Month, .Year] 
    let components = NSCalendar.currentCalendar().components(unitFlags, fromDate: date!) 
    print(components.day); 
相关问题