![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: The DCL calls: $ sho time 29-MAR-2000 10:04:06 $ write sys$output "/",f$cvtime("today+4",,"HOUR"),"/",f$cvtime("today"+4,,"HOUR"),"/" /04/05/ Why this 1 hour difference? How is f$cvtime("today"-1) translated? I expected yesterday's 23:00:00.00. More: $ write sys$output "/",f$cvtime("today-1",,"HOUR"),"/",f$cvtime("today"-1,,"HOUR"),"/" /23/00/ $ write sys$output "/",f$cvtime("today-1",,"HOUR"),"/",f$cvtime("today"-2,,"HOUR"),"/" /23/09/ Does format like f$cvtime("today"-1) means that I get en unpredictible result? The Answer is : Does the following simplification of the behaviour help you understand what is going on here? $ x = "/" + "today" + 4 + "/" $ show symbol x X = 4 Hex = 00000004 Octal = 00000000004 $ write sys$output "''f$type(x)'" INTEGER $ x = "/" + "today+4" + "/" $ show symbol x X = "/today+4/today+4/" $ write sys$output "''f$type(x)'" STRING The f$cvtime lexical is not particularly relevent here, this particular behaviour is an artifact of DCL symbols and of DCL string handling.
|