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.
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.
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():
Bonne continuation.
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
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 :
Au besoin, tu trouveras le code complet du module datesub.f90 sur le site de Alan Miller au http://users.bigpond.net.au/amiller/
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 ...
Ah oui, 'fdate()' n'est effectivement pas standard.
Et également disponible avec les compilateurs 'g95' et 'gfortran'.C'est une fonction DEC / Compaq / Intel.
C'est un peu dommage qu'une telle fonction ai été oubliée des standards.
merci bien pour votre aide .
voila ma 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
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
si vous avez des amelioration de cette subroutine je sui preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Jeudi 1 Mai 2008 a 11:54:12.18
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager