1. #1
    Membre régulier
    Inscrit en
    mai 2002
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 172
    Points : 71
    Points
    71

    Par défaut 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 :
    Win7-64bits, Delphi XE2 pro.
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  2. #2
    Membre régulier
    Inscrit en
    mai 2002
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 172
    Points : 71
    Points
    71

    Par défaut

    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 :
    Win7-64bits, Delphi XE2 pro.
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASIQ] Comment tester par rapport à une date avec l'heure
    Par Soulkeum dans le forum Adaptive Server IQ
    Réponses: 1
    Dernier message: 08/02/2008, 19h06
  2. Comment ajouter un mois à une date en VBA
    Par patrick55 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/01/2008, 17h22
  3. Réponses: 2
    Dernier message: 08/01/2008, 15h11
  4. Comment vérifier et comparer une date?
    Par denis907 dans le forum ASP
    Réponses: 5
    Dernier message: 01/08/2007, 00h06
  5. Comment soustraire un an à une date
    Par Jense dans le forum Oracle
    Réponses: 12
    Dernier message: 30/06/2006, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo