Obtenir la date actuelle dans Swift 3? [fermé]


115

Comment puis-je définir la date actuelle de label.text dans Swift 3?

Je veux imprimer juste aujourd'hui à l'écran. Je n'ai pas trouvé comment faire ça.

En c # c'est très simple:

var date = DateTime.Now

J'ai besoin d'écrire 15.09.2016 en swift 3. merci



ça ne marche plus?
yucel

1
Avez-vous fait défiler jusqu'en bas pour la réponse Swift 3?
koen le

J'ai essayé mais je ne l'ai pas fait
yucel

1
Vous souhaitez probablement utiliser un NSDateFormatteret puis stringFromDate.
koen le

Réponses:


289

Vous dites dans un commentaire que vous voulez obtenir "15.09.2016".

Pour cela, utilisez Dateet DateFormatter:

let date = Date()
let formatter = DateFormatter()

Donnez le format souhaité au formateur:

formatter.dateFormat = "dd.MM.yyyy"

Obtenez la chaîne de résultat:

let result = formatter.string(from: date)

Définissez votre étiquette:

label.text = result

Résultat:

15.09.2016


2
Dans Swift 4.2, DateFormatter a les propriétés .dateStyle et .timeStyle. Au lieu de la syntaxe quelque peu opaque ci-dessus (qui donne un contrôle plus fin - voir nsdateformatter.com ), vous pouvez utiliser dateStyle combiné avec locale.
green_knight

63

Vous pouvez le faire de cette manière avec Swift 3.0:

let date = Date()
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)

let year =  components.year
let month = components.month
let day = components.day

print(year)
print(month)
print(day)

22
Je ne peux pas croire même après Swift 3 que la gestion des dates soit si mauvaise! C'est honteux étant donné que Date dans .NET était en version 1 en 2002 de mémoire. DateTime.Now ou DateTime.Now.Month sont tellement plus faciles!
csmith

1
Comment savoir si ce jour est un lundi, mardi ou mercredi?
Joseph Astrahan

1
Découvrez SwiftDate Cocoapod si vous souhaitez un moyen beaucoup plus simple d'interagir avec les dates rapidement.
Rob Norback

1
@csmith C'est parce que c'est toujours l'ancien NSDate mais avec la syntaxe Swift. Il n'a pas été réécrit. Vous avez raison cependant, c'est un peu pénible de travailler avec.
bandejapaisa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.