$duration
From Scriptwiki
Converts an interval (unit: seconds) in to a human-readable format. It is also capable of converting the human readable format in to total number of seconds elapsed since 00:00:00 GMT, January 1, 1970.
Note: When converting from human readable to numerical $duration will treat 1wk, 1w, 1week and 1 week as the same value. It is also worth noting that months and years do not have a set valid so can not be converted.
$duration(interval, N)
$duration(3660) returns "1hr 1min".
N is an optional parameter which specifies how $duration formats the time:
N | Meaning |
2 | do not include seconds in the result |
3 | $duration uses the H:m:s format |
Examples
Time since a specific date
echo -a $duration($calc($ctime - $ctime(10.02.1986 00:00)))
This command echos how much time has passed since the 10th February 1986.
Reverting human readable text into an integer we can use to calculate
var %when = 1wk 3days 19hrs 41mins 15secs var %ts = $duration(%when) ;;This will give us the amount of seconds (934875) that is in %when var %ts = $calc($ctime + %ts) ;;Add $ctime (the current time in seconds) to the varible. echo -a The date and time in %when will be $asctime(%ts)