Global ObjectDate and TimeFactory Global

TimeSpan(milliseconds)

Duration values. Factory functions such as TimeSpan.fromSeconds(...) return a TimeSpan object; totalSeconds(), add() and format() are called on it.

Documented for app version 1.0.51Updated:

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

How To Call It

TimeSpan is a callable factory table: object methods are called as span:<method>(...), and the table’s own functions as TimeSpan.<method>(...).

When To Use It

For time flow, combine DateTime, TimeSpan, and Stopwatch with logging, timeout control, and performance measurement.

Parameters and Return

TimeSpan offers 34 methods; each method page lists its parameters and return value.

Best Combined With

A strong combination is to measure with Stopwatch, log with DateTime, and compare durations with TimeSpan.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

local span = TimeSpan.fromMinutes(90)
print(span:totalHours(), span:format("HH:mm:ss"))

Copyable Progressive Examples

From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.

Foundation

Shows the shortest direct way to call the API.

Foundation
local span = TimeSpan.fromMinutes(90)
print(span:totalHours(), span:format("HH:mm:ss"))

Simple

Wraps the base call with minimal flow control.

Simple
local span = TimeSpan.fromMinutes(90)
print(span:totalHours(), span:format("HH:mm:ss"))

-- Continue with one focused method on the object.

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
local span = TimeSpan.fromMinutes(90)
print(span:totalHours(), span:format("HH:mm:ss"))
local note = "TimeSpan overview loaded"
print(note)

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
-- For time flow, combine DateTime, TimeSpan, and Stopwatch with logging, timeout control, and performance measurement.
local function run_timespan_step()
  local span = TimeSpan.fromMinutes(90)
  print(span:totalHours(), span:format("HH:mm:ss"))
end

local ok, err = pcall(run_timespan_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
local watch = Stopwatch()
watch:start()
local span = TimeSpan.fromMinutes(90)
print(span:totalHours(), span:format("HH:mm:ss"))
print("Elapsed ms: " .. tostring(watch:elapsedMs()))