Duration Functions¶
Functions for working with time durations.
Summary¶
| Function | Signature | Description |
|---|---|---|
duration_add |
string, string -> string |
Add two duration strings |
duration_days |
number -> number |
Get days component from seconds |
duration_hours |
number -> number |
Convert seconds to hours |
duration_minutes |
number -> number |
Convert seconds to minutes |
duration_seconds |
number -> number |
Get seconds component |
duration_subtract |
string, string -> string |
Subtract second duration string from first |
format_duration |
number -> string |
Format seconds as duration string |
parse_duration |
string -> number |
Parse duration string to seconds |
Functions¶
duration_add¶
Add two duration strings
Signature: string, string -> string
Examples:
# Add 1 hour and 30 minutes
duration_add('1h', '30m') -> "1h30m"
# Add 1 day and 12 hours
duration_add('1d', '12h') -> "1d12h"
# Identity with zero
duration_add('1h', '0s') -> "1h"
CLI Usage:
duration_days¶
Get days component from seconds
Signature: number -> number
Examples:
# 1 day
duration_days(`86400`) -> 1
# 1 day 1 hour 1 min 1 sec
duration_days(`90061`) -> 1
# 8 days wraps to 1 (8 mod 7)
duration_days(`691200`) -> 1
CLI Usage:
duration_hours¶
Convert seconds to hours
Signature: number -> number
Examples:
# 2 hours
duration_hours(`7200`) -> 2
# 1 hour
duration_hours(`3600`) -> 1
# 1.5 hours
duration_hours(`5400`) -> 1.5
CLI Usage:
duration_minutes¶
Convert seconds to minutes
Signature: number -> number
Examples:
# 2 minutes
duration_minutes(`120`) -> 2
# 1 minute
duration_minutes(`60`) -> 1
# 1.5 minutes
duration_minutes(`90`) -> 1.5
CLI Usage:
duration_seconds¶
Get seconds component
Signature: number -> number
Examples:
# 65 seconds mod 60
duration_seconds(`65`) -> 5
# Exact minutes
duration_seconds(`120`) -> 0
# 1 hour 1 min 1 sec
duration_seconds(`3661`) -> 1
CLI Usage:
duration_subtract¶
Subtract second duration string from first
Signature: string, string -> string
Examples:
# Subtract 30 minutes from 2 hours
duration_subtract('2h', '30m') -> "1h30m"
# Equal durations
duration_subtract('1h', '1h') -> "0s"
# Underflow clamps to zero
duration_subtract('30m', '2h') -> "0s"
CLI Usage:
format_duration¶
Format seconds as duration string
Signature: number -> string
Examples:
# 1.5 hours
format_duration(`5400`) -> \"1h30m\"
# 1 hour 1 min 1 sec
format_duration(`3661`) -> \"1h1m1s\"
# 1 minute
format_duration(`60`) -> \"1m\"
CLI Usage:
parse_duration¶
Parse duration string to seconds
Signature: string -> number
Examples:
# 1.5 hours
parse_duration('1h30m') -> 5400
# 2 hours
parse_duration('2h') -> 7200
# 30 seconds
parse_duration('30s') -> 30
CLI Usage: