2017-03-24 5 views

Antwort

1
func yearsBetween(date1: Date, date2: Date) -> Int { 
     let calendar = Calendar.current 
     let components = calendar.dateComponents([Calendar.Component.year], from: date1, to: date2) 
     return components.year ?? 0 
    } 
Erhalten

// Alter

let dateString = "01/12/1990" 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "dd/MM/yyyy" 
    let date1 = dateFormatter.date(from: dateString) 
    let date2 = Date() 
    let age = self.daysBetween(date1:date1!, date2:date2) 

Hoffe, es wird Ihnen helfen.

0

Sie können ein wenig mehr tun, Google, bevor fragen, auch Sie können diese Antworten finden hilfreich:

How do you create a swift Date object

Calculate age from birth date using NSDateComponents in Swift

func calcAge(birthday:String) -> Int { 
    let dateFormater = DateFormatter() 
    dateFormater.dateFormat = "MM/dd/yyyy" 
    let birthdayDate = dateFormater.date(from: birthday) 
    let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian) 
    let now: NSDate! = NSDate() 
    let calcAge = calendar.components(.year, from: birthdayDate!, to: now as Date, options: []) 
    let age = calcAge.year 
    return age! 
} 

Nutzung:

print(calcAge(birthday: "01/12/1990")) 
2

Swift 4

Mein Anwendungsfall ist auch für Facebook und ich habe verwendet UserDefaults die birth zu speichern. Die folgende Funktion ruft das Geburtsdatum aus UserDefaults ab, wie es von der graphRequest zurückgegeben wird, die dasselbe Format wie Ihr Date hat. Die Funktion gibt eine Ganzzahl mit dem Alter des Benutzers zurück.

func getAgeFromBirthdate() -> Int { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "MM/dd/yyyy" 
    let birthday = UserDefaults.standard.object(forKey: "birthday") 
    let birthdayString = birthday as! String 
    let birthdate = dateFormatter.date(from: birthdayString) 
    let currentDate = Date() 
    let calendar: Calendar = Calendar(identifier: .gregorian) 
    let age = calendar.component(.year, from: birthdate!).distance(to: calendar.component(.year, from: currentDate)) 
    return age 
}