INTEGER FUNCTION NEWDATE (dat1, dat2, dat3, mode)
ARGUMENTS
mode can take the following values:-3,-2,-1,1,2,3
mode=1 : stamp to (true_date and run_number)
out dat1 the truedate corresponding to dat2 integer
in dat2 cmc date-time stamp (old or new style) integer
out dat3 run number of the date-time stamp integer
in mode set to 1 integer
mode=-1 : (true_date and run_number) to stamp
in dat1 truedate to be converted integer
out dat2 cmc date-time stamp (old or new style) integer
in dat3 run number of the date-time stamp integer
in mode set to -1 integer
mode=2 : printable to true_date
out dat1 true_date integer
in dat2 date of the printable date (YYYYMMDD) integer
in dat3 time of the printable date (HHMMSShh) integer
in mode set to 2 integer
mode=-2 : true_date to printable
in dat1 true_date integer
out dat2 date of the printable date (YYYYMMDD) integer
out dat3 time of the printable date (HHMMSShh) integer
in mode set to -2 integer
mode=3 : printable to stamp
out dat1 cmc date-time stamp (old or new style) integer
in dat2 date of the printable date (YYYYMMDD) integer
in dat3 time of the printable date (HHMMSShh) integer
in mode set to 3 integer
mode=-3 : stamp to printable
in dat1 cmc date-time stamp (old or new style) integer
out dat2 date of the printable date (YYYYMMDD) integer
out dat3 time of the printable date (HHMMSShh) integer
in mode set to -3 integer
mode=4 : 14 word old style DATE array to stamp and array(14)
out dat1 CMC date-time stamp (old or new style) integer
in dat2 14 word old style DATE array integer
in dat3 unused integer
in mode set to 4 integer
mode=-4 : stamp to 14 word old style DATE array
in dat1 CMC date-time stamp (old or new style) integer
out dat2 14 word old style DATE array integer
out dat3 unused integer
in mode set to -4 integer
mode=5 printable to extended stamp (year 0 to 10,000)
out - dat1 - extended date-time stamp (new style only) integer
in - dat2 - date of the printable date (yyyymmdd) integer
in - dat3 - time of the printable date (hhmmsshh) integer
in - mode - set to 5 integer
mode=-5 extended stamp (year 0 to 10,000) to printable
in - dat1 - extended date-time stamp (new style only) integer
out - dat2 - date of the printable date (yyyymmdd) integer
out - dat3 - time of the printable date (hhmmsshh) integer
in - mode - set to -5 integer
mode=6 : extended stamp to extended true_date (in hours)
out - dat1 - the truedate corresponding to dat2 integer
in - dat2 - cmc date-time stamp (old or new style) integer
out - dat3 - run number, unused (0) integer
in - mode - set to 6 integer
mode=-6 : extended true_date (in hours) to extended stamp
in - dat1 - truedate to be converted integer
out - dat2 - cmc date-time stamp (old or new style) integer
in - dat3 - run number, unused integer
in - mode - set to -6 integer
mode=7 - printable to extended true_date (in hours)
out - dat1 - extended true_date integer
in - dat2 - date of the printable date (yyyymmdd) integer
in - dat3 - time of the printable date (hhmmsshh) integer
in - mode - set to 7 integer
mode=-7 : extended true_date (in hours) to printable
in - dat1 - extended true_date integer
out - dat2 - date of the printable date (yyyymmdd) integer
out - dat3 - time of the printable date (hhmmsshh) integer
in - mode - set to -7 integer
DESCRIPTION
Converts a date between two of the following formats: cmc date-time
stamp(old or new), true date and printable date. The function returns 0 if
there was no error, a non zero value otherwise.
EXAMPLE
Fortran
C
NOTES
- see incdatr for details on cmc date-time stamps
- it is recommended to always use this function to manipulate
dates
- if mode isn't in these values(-7,..,-2,-1,1,2,...,7) or if
arguments aren't valid, newdate has a return value of 1,
if this happens, outputs can take any value
- modes -1,1,-2,2 are NOT INTENDED FOR GENERAL USE
(they are really intended for INTERNAL use).
- A true date is an integer (possibly negative) that
contains the number of 5 seconds intervals since
1980/01/01 00H00. Negative values arise as this
concept applies from 1900/01/01 00H00 to 2235/12/31
23h59. Beyond these limits, extended true dates apply.
- An extended true date is an integer that contains
the number of 3 hourly intervals since year 00/01/01
- See INCDATR for detail on CMC DATE-TIME STAMPS.
SEE ALSO
datec, difdat,
difdatr, incdat,
jdatec
Return to RPN Libraries home page