Skip to content

TimeDelta Object Type

Since: Version 2025.12.02-67ee9e96

The functionality described in this section requires version 2025.12.02-67ee9e96 of KumoMTA, or a more recent version.

The TimeDelta object type represents a time interval.

You do not create a TimeDelta object directly, but instead using one of the constructing functions:

or though metamethods of TimeDelta (see below) or Time.

Metamethods

The following metamethod are implemented on TimeDelta objects:

  • tostring(time_delta) - returns a human readable duration string, the same as the human field described below
  • delta1 == delta2 - compares two TimeDelta objects for equality
  • delta1 + delta2 - you may add a TimeDelta to a TimeDelta to produce a new TimeDelta
  • delta1 - delta2 - you may subtract a TimeDelta from a TimeDelta to produce a new TimeDelta

Fields

The following fields epose information about the underlying TimeDelta. Fields are accessed using dot notation, like delta.seconds.

  • seconds - returns the TimeDelta expressed as a signed number of seconds (including fractional seconds)
  • nanoseconds - returns the TimeDelta expressed as a signed integer number of nanoseconds.
  • milliseconds - returns the TimeDelta expressed as a signed integer number of milliseconds.
  • microseconds - returns the TimeDelta expressed as a signed integer number of microseconds.
  • human - returns the TimeDelta expressed as a human readable string, such as 5m for a five minute duration.
local delta1 = kumo.time.parse_duration(20)
local delta2 = kumo.time.parse_duration '10 seconds'

assert((delta2 - delta1).seconds == 10)