logo

const final class

sys::Duration

sys::Obj
  sys::Duration

Duration represents a relative duration of time with nanosecond precision.

Slots

boot

static Duration boot()

Get the system timer at boot time of the Fan VM.

Source

compare

override Int compare(Obj obj)

Compare based on nanosecond ticks.

Source

div

Duration div(Float b)

Divide this by b. Shortcut is a/b.

Source

equals

override Bool equals(Obj obj)

Return true if same number nanosecond ticks.

Source

floor

Duration floor(Duration accuracy)

Return a new Duration with this duration's nanosecond ticks truncated according to the specified accuracy. For example floor(1min) will truncate this duration such that it's seconds are 0.0.

Source

fromStr

static Duration fromStr(Str s, Bool checked := true)

Parse a Str into a Duration according to the Fan literal format. If invalid format and checked is false return null, otherwise throw ParseErr. The following suffixes are supported:

ns:   nanoseconds  (x 1)
ms:   milliseconds (x 1,000,000)
sec:  seconds      (x 1,000,000,000)
min:  minutes      (x 60,000,000,000)
hr:   hours        (x 3,600,000,000,000)
day:  days         (x 86,400,000,000,000)

Examples:

Duration.fromStr("4ns")
Duration.fromStr("100ms")
Duration.fromStr("-0.5hr")

Source

hash

override Int hash()

Return ticks().

Source

make

static Duration make(Int ticks)

Create a Duration which represents the specified number of nanosecond ticks.

Source

minus

Duration minus(Duration b)

Subtract b from this. Shortcut is a-b.

Source

mult

Duration mult(Float b)

Multiply this with b. Shortcut is a*b.

Source

negate

Duration negate()

Negative of this. Shortcut is -a.

Source

now

static Duration now()

Get the current value of the system timer. This method returns a relative time unrelated to system or wall-clock time. Typically it is the number of nanosecond ticks which have elapsed since system startup.

Source

plus

Duration plus(Duration b)

Add this with b. Shortcut is a+b.

Source

ticks

Int ticks()

Return number of nanosecond ticks.

Source

toDay

Int toDay()

Get this duration in 24 hour days. Any fractional days are truncated with a loss of precision.

Source

toHour

Int toHour()

Get this duration in hours. Any fractional hours are truncated with a loss of precision.

Source

toLocale

Str toLocale()

Return human friendly string representation. TODO: enhance this for pattern

Source

toMillis

Int toMillis()

Get this duration in milliseconds. Any fractional milliseconds are truncated with a loss of precision.

Source

toMin

Int toMin()

Get this duration in minutes. Any fractional minutes are truncated with a loss of precision.

Source

toSec

Int toSec()

Get this duration in seconds. Any fractional seconds are truncated with a loss of precision.

Source

toStr

override Str toStr()

Return string representation of the duration which is a valid duration literal format suitable for decoding via fromStr.

Source

uptime

static Duration uptime()

Get the duration which has elapsed since the Fan VM was booted which is now - boot.

Source