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

Fortran Discussion :

Affichage du temps actuel ?


Sujet :

Fortran

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 78
    Points : 61
    Points
    61
    Par défaut Affichage du temps actuel ?
    Bonjour,

    comment afficher le temps actuel dans la console avec ce format : Mon Apr 28 2008 23:15:41 ?

    j'ai utilisé DATE_AND_TIME mais il me donne pas le format voulu.

    merci.
    MATLAB 7.6 (R2008a) & Windows XP SP2

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Il y a la fonction intrinsèque (Fortran 90) fdate() qui renvoie date et heure courante dans une chaine de caractère au format "day mon dd hh:mm:ss yyyy" que tu pourrais ensuite réorganiser à ton gout.

    Exemple d'utilisation de fdate():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    program exemple_fdate
    implicit none
    character(len=24) :: texte
    texte=fdate()
    write(*,*) "date et heure courante:",texte
    end program exemple_fdate
    Bonne continuation.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    La fonction fdate te donnera effectivement à peu près ce que tu veux, mais ce n'est pas une fonction standard. C'est une fonction DEC / Compaq / Intel.

    La façon standard d'avoir la date est via la fonction date_and_time, qui malheureusement ne te retourne pas le jour de la semaine.

    La fonction suivante te permet d'avoir le jour de la semaine :
    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
    29
    30
     
    MODULE date_sub
     
    !      COLLECTED AND PUT TOGETHER JANUARY 1972, H. D. KNOBLE .
    !      ORIGINAL REFERENCES ARE CITED IN EACH ROUTINE.
     
    ! Code converted using TO_F90 by Alan Miller
    ! Date: 1999-12-22  Time: 10:23:47
     
    IMPLICIT NONE
     
    CONTAINS
     
    !        ARITHMETIC FUNCTIONS 'IZLR' AND 'IDAY' ARE TAKEN FROM REMARK ON
    !        ALGORITHM 398, BY J. DOUGLAS ROBERTSON, CACM 15(10):918.
    ...
    FUNCTION izlr(yyyy, mm, dd) RESULT(ival)
    !------IZLR(YYYY, MM, DD) GIVES THE WEEKDAY NUMBER 0 = SUNDAY, 1 = MONDAY,
    !      ... 6 = SATURDAY.  EXAMPLE: IZLR(1970, 1, 1) = 4 = THURSDAY
     
    INTEGER, INTENT(IN) :: yyyy, mm, dd
    INTEGER             :: ival
     
    ival = MOD((13*(mm+10-(mm+10)/13*12)-1)/5 + dd + 77 + 5*(yyyy+(mm-14)/12 -  &
               (yyyy+(mm-14)/12)/100*100)/4 + (yyyy+(mm-14)/12)/400 -  &
               (yyyy+(mm-14)/12)/100*2, 7)
     
    RETURN
    END FUNCTION izlr
    ...
    Au besoin, tu trouveras le code complet du module datesub.f90 sur le site de Alan Miller au http://users.bigpond.net.au/amiller/

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Ah oui, 'fdate()' n'est effectivement pas standard.
    C'est une fonction DEC / Compaq / Intel.
    Et également disponible avec les compilateurs 'g95' et 'gfortran'.

    C'est un peu dommage qu'une telle fonction ai été oubliée des standards.

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 78
    Points : 61
    Points
    61
    Par défaut
    merci bien pour votre aide .
    MATLAB 7.6 (R2008a) & Windows XP SP2

  6. #6
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 78
    Points : 61
    Points
    61
    Par défaut
    voila ma subroutine DATE_TEMPS

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
          PROGRAM ESSAIE
    	IMPLICIT NONE  
    	CALL DATE_TEMPS
    	END PROGRAM ESSAIE 
    c
    	SUBROUTINE DATE_TEMPS
          implicit none
    	CHARACTER(10) timee 
    	CHARACTER(8) jour 
    	CHARACTER(9) mois 
    	INTEGER :: i,j,k	 
    	INTEGER :: yyyy, mm, dd      
          INTEGER :: ival
    	CALL IDATE (i, j, k) 
          mm = i
    	dd = j
    	yyyy = 2000 + k
    c
          ival = MOD((13*(mm+10-(mm+10)/13*12)-1)/5 + dd + 77 +
         & 5*(yyyy+(mm-14)/12 - (yyyy+(mm-14)/12)/100*100)/4 +
         & (yyyy+(mm-14)/12)/400 - (yyyy+(mm-14)/12)/100*2, 7) 
    c	
    	IF (ival == 0) jour = "Dimanche"
    	IF (ival == 1) jour = "Lundi"
    	IF (ival == 2) jour = "Mardi"
    	IF (ival == 3) jour = "Mercredi"
    	IF (ival == 4) jour = "Jeudi"
    	IF (ival == 5) jour = "Vendredi"
    	IF (ival == 6) jour = "Samedi" 
    c
          CALL DATE_AND_TIME(TIME=timee)
          IF(mm == 1) THEN
    	mois = "Janvier"
          WRITE(6,'(A8,A1,I2,A1,A7,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 2) THEN
    	mois = "Fevrier"
          WRITE(6,'(A8,A1,I2,A1,A7,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 3) THEN
    	mois = "Mars"
          WRITE(6,'(A8,A1,I2,A1,A4,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 4) THEN
    	mois = "Avril"
          WRITE(6,'(A8,A1,I2,A1,A5,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 5) THEN
    	mois = "Mai"
          WRITE(6,'(A8,A1,I2,A1,A3,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 6) THEN
    	mois = "Juin"
          WRITE(6,'(A8,A1,I2,A1,A4,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 7) THEN
    	mois = "Juillet"
          WRITE(6,'(A8,A1,I2,A1,A7,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 8) THEN
    	mois = "Aout"
          WRITE(6,'(A8,A1,I2,A1,A4,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 9) THEN
    	mois = "Septembre"
          WRITE(6,'(A8,A1,I2,A1,A9,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 10) THEN
    	mois = "Octobre"
          WRITE(6,'(A8,A1,I2,A1,A7,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 11) THEN
    	mois = "Novembre"
          WRITE(6,'(A8,A1,I2,A1,A8,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF
    	IF(mm == 12) THEN
    	mois = "Decembre"
          WRITE(6,'(A8,A1,I2,A1,A8,A1,I4,A3,A2,A1,A2,A1,A5)') jour,' ',dd,
         &' ',mois,' ',yyyy,' a ',timee(1:2),':',timee(3:4),':',timee(5:9)
    	ENDIF	
    c	    
          END SUBROUTINE DATE_TEMPS
    cette subroutine nous donne la date et l'heure de forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Jeudi     1 Mai 2008 a 11:54:12.18
    si vous avez des amelioration de cette subroutine je sui preneur.
    MATLAB 7.6 (R2008a) & Windows XP SP2

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

Discussions similaires

  1. Affichage en temps réel ??
    Par haffouff dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2006, 21h57
  2. Affichage en temps réel du résultat d'un thread
    Par bradley vier dans le forum MFC
    Réponses: 14
    Dernier message: 28/03/2006, 15h56
  3. Affichage en temps réel...
    Par beral dans le forum C++Builder
    Réponses: 6
    Dernier message: 09/02/2006, 12h05
  4. [WD9] Affichage en temps réel
    Par oz80 dans le forum WinDev
    Réponses: 4
    Dernier message: 11/01/2006, 14h06
  5. Affichage du temps d'exécution d'une requête
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 17h48

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