Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
Development · Evolving reference

DurationUnits

Names an i64-count fixed duration unit of 1/1000000000 seconds.

Sn is under heavy development. This reference includes the intended 1.0 design; features may be incomplete in the current compiler. Read the status →

Module std.time

import std.time;

Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.

Nanoseconds

pub alias Nanoseconds = Duration<i64, 1_u64, 1000000000_u64>;

Names an i64-count fixed duration unit of 1/1000000000 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Example

module example.duration_units;
from std.time import Nanoseconds, Microseconds, Milliseconds, Seconds, Minutes,
    Hours, Days, Weeks, Months, Years, Decades, Centuries, Millennia, MillionYears, BillionYears;
fn Main() -> i32 {
    if Nanoseconds.Create(1).Count != 1 || Nanoseconds.Period().Denominator != 1000000000 { return 1; }
    if Microseconds.Period().Denominator != 1000000 || Milliseconds.Period().Denominator != 1000 { return 2; }
    if Seconds.Period().Numerator != 1 || Minutes.Period().Numerator != 60 { return 3; }
    if Hours.Period().Numerator != 3600 || Days.Period().Numerator != 86400 { return 4; }
    if Weeks.Period().Numerator != 604800 || Months.Period().Numerator != 2629746 { return 5; }
    if Years.Period().Numerator != 31556952 || Decades.Period().Numerator != 315569520 { return 6; }
    if Centuries.Period().Numerator != 3155695200 || Millennia.Period().Numerator != 31556952000 { return 7; }
    if MillionYears.Period().Numerator != 31556952000000 { return 8; }
    if BillionYears.Period().Numerator != 31556952000000000 { return 9; }
    return 0;
}

Microseconds

pub alias Microseconds = Duration<i64, 1_u64, 1000000_u64>;

Names an i64-count fixed duration unit of 1/1000000 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Milliseconds

pub alias Milliseconds = Duration<i64, 1_u64, 1000_u64>;

Names an i64-count fixed duration unit of 1/1000 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Seconds

pub alias Seconds = Duration<i64, 1_u64, 1_u64>;

Names an i64-count fixed duration unit of 1/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Minutes

pub alias Minutes = Duration<i64, 60_u64, 1_u64>;

Names an i64-count fixed duration unit of 60/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Hours

pub alias Hours = Duration<i64, 3600_u64, 1_u64>;

Names an i64-count fixed duration unit of 3600/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Days

pub alias Days = Duration<i64, 86400_u64, 1_u64>;

Names an i64-count fixed duration unit of 86400/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Weeks

pub alias Weeks = Duration<i64, 604800_u64, 1_u64>;

Names an i64-count fixed duration unit of 604800/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Months

pub alias Months = Duration<i64, 2629746_u64, 1_u64>;

Names an i64-count fixed duration unit of 2629746/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Years

pub alias Years = Duration<i64, 31556952_u64, 1_u64>;

Names an i64-count fixed duration unit of 31556952/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Decades

pub alias Decades = Duration<i64, 315569520_u64, 1_u64>;

Names an i64-count fixed duration unit of 315569520/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Centuries

pub alias Centuries = Duration<i64, 3155695200_u64, 1_u64>;

Names an i64-count fixed duration unit of 3155695200/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Millennia

pub alias Millennia = Duration<i64, 31556952000_u64, 1_u64>;

Names an i64-count fixed duration unit of 31556952000/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

MillionYears

pub alias MillionYears = Duration<i64, 31556952000000_u64, 1_u64>;

Names an i64-count fixed duration unit of 31556952000000/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

BillionYears

pub alias BillionYears = Duration<i64, 31556952000000000_u64, 1_u64>;

Names an i64-count fixed duration unit of 31556952000000000/1 seconds. Note: Calendar months/years are mean Gregorian fixed durations, not date arithmetic.

Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library