IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    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)

  2. #2
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    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 !

+ 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, 18h06
  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, 16h22
  3. Réponses: 2
    Dernier message: 08/01/2008, 14h11
  4. Comment vérifier et comparer une date?
    Par denis907 dans le forum ASP
    Réponses: 5
    Dernier message: 31/07/2007, 23h06
  5. Comment soustraire un an à une date
    Par Jense dans le forum Oracle
    Réponses: 12
    Dernier message: 30/06/2006, 15h03

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