Swift 3 - trouver le nombre de jours calendaires entre deux dates
La façon dont je l'ai fait en Swift 2.3 a:
let currentDate = NSDate()
let currentCalendar = NSCalendar.currentCalendar()
var startDate : NSDate?
var endDate : NSDate?
//The following two lines set the `startDate` and `endDate` to the start of the day
currentCalendar.rangeOfUnit(.Day, startDate: &startDate, interval: nil, forDate: currentDate)
currentCalendar.rangeOfUnit(.Day, startDate: &endDate, interval: nil, forDate: self)
let intervalComps = currentCalendar.components([.Day], fromDate: startDate!, toDate: endDate!, options: [])
print(intervalComps.day)
Maintenant, tout cela a changé avec la Swift 3. Je dois soit utiliser NSCalendar
et NSDate
constamment le type coulée avec as
ou trouver le Swift 3 façon de faire.
Quelle est la bonne façon de le faire dans Swift 3?
source d'informationauteur Vinod Vishwanath | 2016-10-16
Vous devez vous connecter pour publier un commentaire.
Dans Swift 4 il est un simple one-liner pour obtenir le nombre de jours (ou de tout autre DateComponent) entre deux dates:
S'avère que c'est beaucoup plus simple de le faire en Swift 3:
Modifier
Comparant les ordinality des deux dates doivent être dans le même
era
au lieu de le mêmeyear
car naturellement les deux dates peuvent tomber dans des années différentes.Utilisation
Swift 4 Version
Imprimé
année: 16 mois: 10 jour: 19 heure: de 12 minutes: 16 deuxième: 42 isLeapMonth: faux
swift4 calendrier date
Dans Swift4 nous pouvons facilement obtenir le nombre de jours entre deux dates du calendrier ci-dessous à l'aide de codes.
Première est la différence en jours avec la date actuelle.
Continue avec le code ci-dessus ... ci-Dessous pour trouver les jours à deux dates différentes. le contenu de la précédente date est prise d'en haut date
Une autre approche pour comparer avec des composants de jour mois année
Utilisation:
Saisir les dates dans le format suivant
si vous souhaitez imprimer le nombre de jours ainsi que la liste jours entre deux dates du calendrier, utilisé ci-dessous de code simple;
//Déclaration De La Variable:
//fonction Defination:
//Appeler la fonction:
//Profitez de codage...!
Trouvé ceci sur un autre thread, mais c'était finalement la solution la plus simple pour moi l'utilisation de Swift 4: