25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.12 Procedure intrinseche 265<br />

DATE_AND_TIME([DATE],[TIME],[ZONE],[VALUES])<br />

Questa subroutine restituisce la data e il tempo correnti così come forniti dall’orologio interno<br />

del sistema. I suoi argomenti, tutti opzionali e tutti con attributo INTENT(OUT), sono:<br />

• DATE: stringa di (almeno) otto caratteri; gli otto caratteri più a sinistra sono posti pari a<br />

CCYYMMDD con il significato di century/year/month/day.<br />

• TIME: stringa di (almeno) dieci caratteri; i dieci caratteri più a sinistra sono posti pari a<br />

HHMMSS.SSS con il significato di hour/minute/second/millisecond.<br />

• ZONE: stringa di (almeno) cinque caratteri; i cinque caratteri più a sinistra sono posti pari<br />

a +HHMM, dove HH ed MM rappresentano le ore ed i minuti di differenza rispetto al tempo<br />

medio di Greenwich (anche detto UTC, Coordinate Universal Time).<br />

• VALUES: array di tipoINTEGER di lunghezza (minima) pari ad otto. Gli elementi diVALUES<br />

hanno il seguente significato:<br />

value(1) anno corrente<br />

value(2) mese corrente<br />

value(3) giorno corrente<br />

value(4) differenza, in minuti, rispetto all’UTC (0-59)<br />

value(5) ora (0-23)<br />

value(6) minuti (0-59)<br />

value(7) secondi (0-59)<br />

value(8) millisecondi (0-999)<br />

Se qualcuna di queste informazioni non è disponibile, il corrispondente valore sarà posto pari a<br />

-HUGE(0).<br />

Un esempio di utilizzo della routine DATE_AND_TIME è il seguente:<br />

CHARACTER(LEN=8) :: d<br />

CHARACTER(LEN=10) :: t<br />

CHARACTER(LEN=5) :: z<br />

...<br />

CALL DATE_AND_TIME(DATE=d,TIME=t,ZONE=z)<br />

PRINT*, "Data corrente: ",d(7:8),"/",d(5:6),"/",d(1:4)<br />

PRINT*, "Ora corrente: ",t(1:2),":",t(3:4),":",t(5:10)<br />

PRINT*<br />

PRINT*, "Differenza rispetto all’UTC:"<br />

PRINT*, "Ore: ",z(2:3)," Minuti: ",z(3:4)<br />

che, eseguito il giorno 8 dicembre 2001 alle ore 12:48, fornisce il seguente risultato:<br />

Data corrente: 08/12/2001<br />

Ora corrente: 12:48:12.607

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!