J'ai une fonctionCréation NSDate à partir de composants sans "correction de fuseau horaire"
func createDate(day: Int, month: Int, year: Int) -> NSDate {
var comp = NSDateComponents()
comp.day = day
comp.month = month
comp.year = year
var cal = NSCalendar.currentCalendar()
if var date = cal.dateFromComponents(comp) {
return date
}
return NSDate()
}
Si je l'appelle avec
createDate(07, 01, 1984)
la sortie est 1984-01-06 23:00:00 +0000
. Je suppose qu'il y a une certaine influence du fuseau horaire. Comment puis-je ajuster mon code pour que la sortie soit 1984-01-07 00:00:00 +0000
? Qu'est-ce que je me trompe ici? Comment suis-je confus?
http://stackoverflow.com/questions/4976530/returns-a-date-an-hour-in-the-future/4976950#4976950 –
Comme d'autres l'ont dit, un objet NSDate contient toujours l'UTC temps (ou une version conceptuelle de celui-ci), et c'est ce qui imprime lorsque vous le NSLog. Pour voir la bonne date/heure, utilisez NSDateFormatter dans votre fuseau horaire. –