Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Comment crée-t-on une date ?


Sujet :

Objective-C

  1. #1
    Membre régulier
    Comment crée-t-on une date ?
    Bonjour,

    Je débute en Objective-C depuis quelques mois et je dois construire la date du 1er jour du mois en cours ainsi que la date du dernier jours du mois en cours.

    J'ai fait le code ci-dessous et le log est pour le moins étrange... Les composantes de la date semblent celles que je voudrait obtenir, mais la date obtenue en finale n'est pas celle attendue
    J'ai du rater quelque chose, mais je ne vois vraiment pas quoi.

    Des idées ? un peu d'aide

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        NSCalendar* l_currentCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
        NSDateComponents* dc = [l_currentCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:_IN_filteredDate];
        [dc setDay:1];
     
        NSDate* l_startOfThisMonth = [l_currentCalendar dateFromComponents:dc];
        NSLog(@"startOfThisMonth : %@ (%d;%d;%d)",l_startOfThisMonth,[dc year],[dc month],[dc day]);


    Console :
    2016-07-04 17:14:46.782 [832:32959] startOfThisMonth : 2016-06-30 22:00:00 +0000 (2016;7;1)
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  2. #2
    Membre régulier
    Bon, en fait, on m'a donné l'explication ailleurs : donc je reposte ici... En fait, la date obtenue était la bonne conformément aux composantes. Seulement, lorsque l'on affiche une date dans un NSLog, c'est le format en UTC+0 qui est retenu pour l'affichage. Hors, pour le mois demandé, la France est en UTC+2. Donc le 30 juin 2016 à 22:00 UTC+0 est effectivement équivalent au 1er juillet à 0:00 UTC+2 !
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles