HMS-

Synopsis


Subtracts times in hours / minutes / seconds format

Stack Diagram


Input Stack Output Stack
Rtime-hms1 Rtime-hms2 Rtime-diff
Level 2 Level 1 Level 1

Legend

Keyword type Command
Parallel list processing capabilities Group 6 Two arguments, one result commands
Affected by flags None

Description


The HMS- command subtracts two values representing hours / minutes / seconds returning a value in the same format. The input is expressed by a real number in the format HH.MMSS, where:

  • HH are the hours;
  • MM are the minutes;
  • SS are the seconds.

It is not mandatory that MM or SS are less than 60. In fact, they can be up to 99: in any case HMS- will compute the correct result. An useful consequence derives from this property: if Rtime-hms2 is 0 HMS- can be used to normalize a time value so that both MM and SS are less than 60.

Compatibility


HMS- is not fully equivalent to its userRPL counterpart.

In particular:

  • in userRPL the time value can express fractions of seconds too; in newRPL it is not allowed.

Usage


Input

4:                                      
3:                                      
2:                               12.5055
1:                                 4.302
…………………………………………………………………………………………………………
HMS-                                    


Output

4:                                      
3:                                      
2:                                      
1:                               8.2035.
…………………………………………………………………………………………………………
                                        

Related Commands


Time, Alarms and System Commands 28 1 NEW

Command Short Description
→DATE Set current system date in MM.DDYYYY
DATE+ Add days to a date in MM.DDYYYY
→TIME Set current time as HH.MMSS
→HMS Convert decimal time to HH.MMSS
HMS→ Convert time in HH.MMSS to decimal
HMS+ Add time in HH.MMSS format
HMS- Subtract time in HH.MMSS format
TICKS Return system clock in microseconds CHANGED
TEVAL Perform EVAL and measure elapsed time CHANGED
DATE Current system date as MM.DDYYYY
DDAYS Number of days between dates in MM.DDYYYY
TIME Current time in HH.MMSS
TSTR
ACK Acknowledge oldest alarm (dismiss)
ACKALL Acknowledge (dismiss) all alarms
RCLALARM Recall specified alarm
STOALARM Create a new alarm
DELALARM Delete an existing alarm
FINDALARM Get first alarm due after the given time
VERSION Get newRPL version string
MEM Get available memory in bytes
BYTES Size of an object in bytes and CRC32 CHANGED
PEEK Low-level read memory address CHANGED
POKE Low level write to memory address CHANGED
NEWOB Make a new copy of the given object
GARBAGE Force a garbage collection NEW
FWUPD
OFF Turn calculator off programmatically