ESC
Type to search...
S
Soli Docs

Duration

Represent and manipulate time durations with a fluent API.

The Duration class represents a span of time. Create durations using static factory methods, then convert them to different units as needed.

Creating Durations

Duration.seconds(n)

Create a duration from a number of seconds.

Parameters

n : Int - Number of seconds

Returns

Duration - A Duration instance
let timeout = Duration.seconds(30)
let one_minute = Duration.seconds(60)
Duration.minutes(n)

Create a duration from a number of minutes.

Parameters

n : Int - Number of minutes

Returns

Duration - A Duration instance
let break_time = Duration.minutes(15)
let hour = Duration.minutes(60)
Duration.hours(n)

Create a duration from a number of hours.

Parameters

n : Int - Number of hours

Returns

Duration - A Duration instance
let work_day = Duration.hours(8)
let session_timeout = Duration.hours(1)
Duration.days(n)

Create a duration from a number of days.

Parameters

n : Int - Number of days

Returns

Duration - A Duration instance
let week = Duration.days(7)
let trial_period = Duration.days(30)

Converting Durations

.to_seconds()

Get the total duration in seconds.

Returns

Int - Total seconds
let duration = Duration.hours(2)
println(duration.to_seconds())  # 7200
.to_minutes()

Get the total duration in minutes.

Returns

Int - Total minutes
let duration = Duration.hours(2)
println(duration.to_minutes())  # 120
.to_hours()

Get the total duration in hours.

Returns

Int - Total hours
let duration = Duration.days(1)
println(duration.to_hours())  # 24

Complete Example

# Create durations
let timeout = Duration.seconds(30)
let break_time = Duration.minutes(15)
let work_day = Duration.hours(8)
let trial = Duration.days(7)

# Convert to different units
println("Timeout: " + timeout.to_seconds() + " seconds")
println("Break: " + break_time.to_minutes() + " minutes")
println("Work day: " + work_day.to_hours() + " hours")
println("Trial: " + trial.to_hours() + " hours")

# Practical example: session expiry
let session_duration = Duration.hours(1)
let expiry_seconds = session_duration.to_seconds()
println("Session expires in " + expiry_seconds + " seconds")