La consignation d'un NSDate
dans le débogueur est quelque peu trompeuse car elle vous donne un jour et une heure de calendrier pour un fuseau horaire particulier - UTC/GMT. Cependant, NSDate
n'a pas de fuseau horaire inhérent ou de relation inhérente à la façon dont les humains perçoivent et pensent aux dates du tout. Au lieu de cela, c'est un horodatage. Des classes comme NSDateComponents
, NSTimeZone
, NSDateFormatter
, et ainsi de suite existent pour fournir un contexte et un formatage humains. Donc, ce que vous voyez est l'horodatage formaté pour ce format particulier et le fuseau horaire UTC, qui est comment NSDate
apparaîtra toujours lorsqu'il est imprimé dans le débogueur ou la console. Si vous deviez calculer le décalage de fuseau horaire entre l'heure UTC et votre propre fuseau horaire, vous constateriez que la date représente l'horodatage que vous lui avez donné, et non pas un mais plusieurs heures d'arrêt.
La méthode [NDate date] vous renvoie la date et l'heure actuelles en fonction des paramètres régionaux du périphérique. Si vous souhaitez définir des paramètres régionaux différents, vous devez le définir manuellement avec "descriptionWithLocale" qui renvoie une représentation sous forme de chaîne du récepteur en utilisant les paramètres régionaux donnés. – ldindu