From: KAPLANSKYM@NCCCOT.AGR.CA Sent: Wednesday, October 24, 2001 12:30 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: Delta time between two date's > From: OTTGW::IN%"noone@dummy.com" "Jan-Erik =?iso-8859-1?Q?S=F6derholm?=" 24-OCT-2001 08:23:31.83 > Subj: Delta time between two date's > How to get the "time-difference" between two dates > in delta time format "DDDD-HH:MM:SS.CC" ? > > Such as "23-OCT-2001 10:00:00.00" - 22-OCT-2001 08:30.00.00" > =3D "1-01:30:00.00" > > Regards > Jan-Erik S=F6derholm > Some time ago, Carl Lydick (remember him) posted the attached. You submit the two times and it returns the delta time in the third parameter. Works for me. Marvin Kaplansky $! DELTA_TIME.COM - from Carl J. Lydick - RIP $! Usage: @DELTA_TIME early_time late_time symbol_name_for_delta_time $ EARLY_TIME = F$CVT(P1) $ TMP2:= $ DEL/SYMBOL TMP2 $ TMP2 == F$CVT(P2,"ABSOLUTE") $ IF F$CVT(TMP2) .LTS. EARLY_TIME $ THEN WRITE SYS$OUTPUT "First time must be no later than second time" $ EXIT $ ENDIF $ IF P3 .EQS. "" $ THEN WRITE SYS$OUTPUT "You must supply two times and a symbol name." $ EXIT $ ENDIF $ DAYS = 0 $ TMP1 = 9999 $ LBL0: IF F$CVT(TMP2+"-"+F$STRING(TMP1)+"-") .LTS. EARLY_TIME THEN GOTO LBL1 $ DAYS = DAYS + TMP1 $ TMP2 = F$CVT(TMP2+"-"+F$STRING(TMP1)+"-","ABSOLUTE") $ GOTO LBL0 $ LBL1: DEL/SYMBOL TMP1 $ CALL LBL4 "!AS-!UL-" "''TMP2'" 9999 "''EARLY_TIME'" $ DAYS = TMP1 $ LBL2: TMP = 23 $ CALL LBL4 "!AS--!UL" "''TMP2'" 23 "''EARLY_TIME'" $ HOURS = TMP1 $ CALL LBL4 "!AS--:!UL" "''TMP2'" 59 "''EARLY_TIME'" $ MINUTES = TMP1 $ CALL LBL4 "!AS--::!UL" "''TMP2'" 59 "''EARLY_TIME'" $ SECONDS = TMP1 $ CALL LBL4 "!AS--::.!UL" "''TMP2'" 99 "''EARLY_TIME'" $ CENTISECONDS = TMP1 $ DEL/SYMBOL/GLOBAL TMP1 $ DEL/SYMBOL/GLOBAL TMP2 $ LBL3: 'P3' == F$FAO("!UL-!2ZL:!2ZL:!2ZL.!2ZL", DAYS, HOURS,- MINUTES, SECONDS, CENTISECONDS) $ EXIT $ LBL4: SUBROUTINE $ TMP1 == 0 $ LBL5: IF F$CVT(F$FAO(P1, P2, 'P3')) .GES. P4 $ THEN TMP1 == TMP1 + P3 $ P2 = F$CVT(F$FAO(P1, P2, 'P3'), "ABSOLUTE") $ ENDIF $ IF P3 .LE. 1 THEN GOTO LBL6 $ P3 = (P3 + 1) / 2 $ GOTO LBL5 $ LBL6: TMP2 == P2 $ RETURN $ EXIT