Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

DATE_AND_TIME

Intrinsic Subroutine (Generic): Returns character and binary data on the real-time clock and date. Intrinsic subroutines cannot be passed as actual arguments.

CALL DATE_AND_TIME ([date,time,zone,values])

date

(Output; optional) Must be scalar and of type default character; its length must be at least 8 to contain the complete value. Its leftmost 8 characters are set to a value of the form CCYYMMDD, where:

CC

Is the century

YY

Is the year within the century

MM

Is the month within the year

DD

Is the day within the month

time

(Output; optional) Must be scalar and of type default character; its length must be at least 10 to contain the complete value. Its leftmost 10 characters are set to a value of the form hhmmss.sss, where:

hh

Is the hour of the day

mm

Is the minutes of the hour

ss.sss

Is the seconds and milliseconds of the minute

zone

(Output; optional) Must be scalar and of type default character; its length must be at least 5 to contain the complete value. Its leftmost 5 characters are set to a value of the form +hhmm or -hhmm, where hh and mm are the time difference with respect to Coordinated Universal Time (UTC) in hours and parts of an hour expressed in minutes, respectively.

UTC is also known as Greenwich Mean Time.

values

(Output; optional) Must be of type integer. One-dimensional array with size of at least 8. The values returned in values are as follows:

values(1)

Is the 4-digit year

values(2)

Is the month of the year

values(3)

Is the day of the month

values(4)

Is the time difference with respect to Coordinated Universal Time (UTC) in minutes

values(5)

Is the hour of the day (range 0 to 23) - local time

values(6)

Is the minutes of the hour (range 0 to 59) - local time

values(7)

Is the seconds of the minute (range 0 to 59) - local time

values(8)

Is the milliseconds of the second (range 0 to 999) - local time

Example

Consider the following example executed on 2000 March 28 at 11:04:14.5:

  INTEGER DATE_TIME (8)
  CHARACTER (LEN = 12) REAL_CLOCK (3)
  CALL DATE_AND_TIME (REAL_CLOCK (1), REAL_CLOCK (2), &
                      REAL_CLOCK (3), DATE_TIME)

This assigns the value "20000328" to REAL_CLOCK (1), the value "110414.500" to REAL_CLOCK (2), and the value "-0500" to REAL_CLOCK (3). The following values are assigned to DATE_TIME: 2000, 3, 28, -300, 11, 4, 14, and 500.

The following shows another example:

CHARACTER(10) t
CHARACTER(5) z
CALL DATE_AND_TIME(TIME = t, ZONE = z)