Je cherche à obtenir les dates de début et de fin du mois en cours au format dd/MM/yyyy
. J'ai essayé d'utiliser une extension comme indiqué dans cette question SO. Mais cela ne semble pas correspondre à ce que je veux (le format est différent et cela me donne la date de fin du mois dernier et la date de l'avant-dernier jour du mois en cours). Est-ce que quelqu'un peut m'aider.
Classe Extension:
extension Date {
func startOfMonth() -> Date? {
let comp: DateComponents = Calendar.current.dateComponents([.year, .month, .hour], from: Calendar.current.startOfDay(for: self))
return Calendar.current.date(from: comp)!
}
func endOfMonth() -> Date? {
var comp: DateComponents = Calendar.current.dateComponents([.month, .day, .hour], from: Calendar.current.startOfDay(for: self))
comp.month = 1
comp.day = -1
return Calendar.current.date(byAdding: comp, to: self.startOfMonth()!)
}
}
Ma Structure:
struct Constants{
// clés requises pour effectuer un appel de connexion (méthode POST)
struct LoginKeys {
.....
}
struct RankingKeys {
static let DateFrom = String(describing: Date().startOfMonth()) //me donnant 2016-11-30 16:00:00 +0000
static let DateTo = String(describing: Date().endOfMonth())
//2016-12-30 16:00:00 +0000
}
}
Résultat Attendu:
DateFrom = "01/12/2016"
DateTo = "31/12/2016"