Décalage horaire
J'ai une donnée date en CET, heure de Paris sous forme de String (dans dateString) et je souhaiterais la convertir en NSDate et je suis en train de devenir chèvre.
Voici mon code
let dateString = "2016-12-25 06:55:00"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
dateFormatter.timeZone = NSTimeZone(abbreviation: "CET")
if let date = dateFormatter.dateFromString(dateString) {
print("s : \(date)")
}
else {
print("invalid")
}
A priori le log affiche la date en GMT donc ici :
2016-12-25 05:55:00 +0000
Avec ça je devrais m'en sortir, mais la conversion n'aboutie pas quand je remplace la première ligne par
let dateString = "2016-12-25 16:55:00"
Peut être que je m'y prend mal. D'avance merci de votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
"hh" vs "HH"
A priori j'ai trouvé "HH" à la place de "hh"
Merci Larme j'ai trouvé en même temps que ta réponse
Tu confirme que le print / les log affiche bien en GMT ?
Pour être plus clair : le code mis à jour :
Je mets toujours trois plombes avec les dates et les fuseaux horaires... Je ne sais jamais s'il faut un +, un -, etc.
Mais voici le truc :
Quand tu loggues une NSDate, il y a le +0000 (ou +0100, -1000 etc.) qui t'indique le fuseau horaire.
Je pars toujours d'un exemple dont je connais les heures de départ et de fin après avoir effectué mes tests.