web-dev-qa-db-fra.com

Convertir une chaîne optionnelle en date

J'ai cette Optional(2015-07-27 19:29:50 +0000) sous forme de chaîne? et je veux le convertir en date (NSDate) mais je ne le comprends pas. Je cherchais beaucoup de solutions, mais je suis assez novice en matière de codage, je serais très heureux de pouvoir vous aider.

C'est ce que j'utilise pour convertir la chaîne en date actuellement.

note: dateString est Optional(2015-07-27 19:29:50 +0000)

dateFormatter = NSDateFormatter()
println(dateFormatter)
dateFormatter.dateFormat = "yyyy-MM-dd"
let s = dateFormatter.dateFromString(dateString)

Je reçois toujours une valeur nulle

12
WDFAN23

Si vous obtenez nil de NSDateFormatter, vous avez probablement spécifié un format de date incorrect. Essaye ça:

let strTime = "2015-07-27 19:29:50 +0000"
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
formatter.dateFromString(strTime) // Returns "Jul 27, 2015, 12:29 PM" PST
42
MirekE

Vous voudrez utiliser une NSDateFormatter et appeler dateFromString: dessus pour obtenir la date de la chaîne. Consultez la documentation NSDateFormatter d’Apple pour une bonne explication de ce que vous voulez.

0
Good Doug

Dans Swift 3.0:

let strTime = "2015-07-27 19:29:50 +0000"
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
formatter.date(from: strTime) 
0
Muthama Kahohi

dateString est déjà la date et doit être converti en chaîne. Le code ci-dessous fonctionne bien 

dateFormatter = NSDateFormatter () println (dateFormatter) dateFormatter.dateFormat = "aaaa-MM-jj" let s = dateFormatter.string (à partir de: dateString)

0
shiva