Duration Functions¶
Functions for parsing, formatting, and calculating 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\"
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
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
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
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
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\"
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\"
parse_duration¶
Parse duration string to seconds
Signature: string -> number
Examples: