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

Informix Discussion :

Le numéro de la journée dans l'année


Sujet :

Informix

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Points : 51
    Points
    51
    Par défaut Le numéro de la journée dans l'année
    bonjour

    Je suis sur Informix 4gl. je veux trouver le N° du jour dans l'année.

    Par Exemple :

    pour la date 01/01/2008 > 1
    31/01/2008 > 31
    01/02/2008 > 32

    Est ce qui il n'y a pas une fonction prédéfinie dans Informix.

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Points : 51
    Points
    51
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    FUNCTION NumJourDate(LaDate)
    DEFINE LaDate Date
    DEFINE NumJour INTEGER
    DEFINE mois SMALLINT
    DEFINE annee INTEGER
    LET  = DAY(LaDate)
    LET mois = MONTH(LaDate)
    LET annee = YEAR(LaDate) 
    LET mois = mois - 1
    WHILE mois <> 0
    	CASE 
    	WHEN  mois = 1 OR mois = 3 OR mois = 5 OR mois = 7 
    	      OR mois = 8 OR mois = 10 OR mois = 12 
    		LET NumJour = NumJour + 31
    	WHEN  mois = 4 OR mois = 6 OR mois = 9 OR mois = 11 
    		LET NumJour = NumJour + 30    
    	WHEN  mois = 2
    		IF ((annee MOD 4 = 0) AND (annee MOD 100 <> 0)) OR (annee MOD 400 = 0 ) THEN
    			LET NumJour = NumJour + 29
    		ELSE
    			LET NumJour = NumJour + 28			    
    		END IF
    	END CASE	
    	LET mois = mois - 1 
    END WHILE
    return NumJour
    END FUNCTION
    Est ce qui il y a d'autres solutions plus simples
    Merci

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Points : 26
    Points
    26
    Par défaut numero du jour dans l'année
    bonjour,
    en recuperant la date du jour que tu veux en integer, puis la date au 1er janvier de l'année en cours en integer et en faisant la difference tu dois avoir le numero du jour dans l'année.
    Je n'ai pas informix sous la main, alors je te laisse coder


  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Points : 51
    Points
    51
    Par défaut
    Bonjour

    Merci crocus
    Voici donc la Solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    FUNCTION NumJourDate(LaDate)
    DEFINE LaDate Date
    DEFINE NumJour INTEGER
    DEFINE j	CHAR(10)
    LET j = "01/01/",YEAR(DateExtract) USING "&&&&"
    LET NumJour = LaDate - DATE(j) + 1
    RETURN NumJour
    END FUNCTION

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 01/03/2007, 13h38
  2. [Date] Jour à partir de son numéro dans l'année
    Par boby123 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/11/2006, 16h58
  3. Connaitre le numéro de ligne exécuté dans le code
    Par heddicmi dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/10/2006, 16h15
  4. nombre de semaine dans l'année
    Par bnreb10 dans le forum Collection et Stream
    Réponses: 18
    Dernier message: 26/09/2006, 11h43
  5. Réponses: 6
    Dernier message: 25/09/2006, 14h51

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