API reference Dodo 0.1.4

std/time

Public declarations, types, methods, and source contracts for std/time.

On this page

Library guide · API index and notation

This page is generated from the bundled library in this checkout. Signatures and adjacent source comments are reproduced below; the linked guide explains usage, storage, failures, and platform support.

import "std/time"

Names used in signatures

Unqualified names denote this package’s types (including other source files in the same package), language built-ins, or generic parameters such as T. Qualified names use the import aliases below. These aliases belong to the library source; import a dependency yourself to use its alias in your program.

This package has no source imports.

NANOS_PER_SECOND

Constant · Source

pub const NANOS_PER_SECOND: u64 = 1000000000

TimeError

Enum · Source

pub enum TimeError {
    Overflow, InvalidComponent, Before, DifferentClock, ClockFailure
}

Duration

Struct · Source

Nonnegative, normalized, exact nanosecond duration; no implicit rounding.

pub struct Duration {
    // Private implementation fields omitted.
}

Duration.new

Function · Source

pub fn new(seconds: u64, nanoseconds: u64) -> Duration!TimeError

Duration.zero

Function · Source

pub fn zero() -> Duration

Duration.from_seconds

Function · Source

pub fn from_seconds(value: u64) -> Duration

Duration.from_millis

Function · Source

pub fn from_millis(value: u64) -> Duration

Duration.from_micros

Function · Source

pub fn from_micros(value: u64) -> Duration

Duration.from_nanos

Function · Source

pub fn from_nanos(value: u64) -> Duration

Duration.seconds

Function · Source

pub fn seconds(&self) -> u64

Duration.subsec_nanos

Function · Source

pub fn subsec_nanos(&self) -> u32

Duration.clone

Function · Source

pub fn clone(&self) -> Duration

Duration.is_zero

Function · Source

pub fn is_zero(&self) -> bool

Duration.compare

Function · Source

pub fn compare(&self, other: &Duration) -> i32

Duration.checked_add

Function · Source

pub fn checked_add(&self, other: &Duration) -> Duration!TimeError

Duration.checked_sub

Function · Source

pub fn checked_sub(&self, other: &Duration) -> Duration!TimeError

Duration.checked_mul

Function · Source

pub fn checked_mul(&self, factor: u32) -> Duration!TimeError

Duration.checked_div

Function · Source

Integer division discards fractional nanoseconds toward zero.

pub fn checked_div(&self, divisor: u32) -> Duration!TimeError

Duration.to_nanos

Function · Source

pub fn to_nanos(&self) -> u64!TimeError

Duration.to_micros

Function · Source

pub fn to_micros(&self) -> u64!TimeError

Duration.to_millis_ceil

Function · Source

Rounded upward for wait budgets; unlike to_millis, never shortens a wait.

pub fn to_millis_ceil(&self) -> u64!TimeError

Duration.timeout_millis

Function · Source

UINT64_MAX is reserved by hosted waits as the infinite sentinel.

pub fn timeout_millis(&self) -> u64!TimeError

Duration.to_millis

Function · Source

pub fn to_millis(&self) -> u64!TimeError

Timestamp

Struct · Source

POSIX timestamp: seconds floor toward -infinity, fraction always nonnegative.

pub struct Timestamp {
    // Private implementation fields omitted.
}

Timestamp.new

Function · Source

pub fn new(seconds: i64, nanoseconds: u32) -> Timestamp!TimeError

Timestamp.epoch

Function · Source

pub fn epoch() -> Timestamp

Timestamp.from_unix_seconds

Function · Source

pub fn from_unix_seconds(value: i64) -> Timestamp

Timestamp.from_unix_nanos

Function · Source

pub fn from_unix_nanos(value: i64) -> Timestamp

Timestamp.seconds

Function · Source

pub fn seconds(&self) -> i64

Timestamp.subsec_nanos

Function · Source

pub fn subsec_nanos(&self) -> u32

Timestamp.clone

Function · Source

pub fn clone(&self) -> Timestamp

Timestamp.compare

Function · Source

pub fn compare(&self, other: &Timestamp) -> i32

Timestamp.checked_add

Function · Source

pub fn checked_add(&self, duration: &Duration) -> Timestamp!TimeError

Timestamp.checked_sub

Function · Source

pub fn checked_sub(&self, duration: &Duration) -> Timestamp!TimeError

Timestamp.duration_since

Function · Source

pub fn duration_since(&self, earlier: &Timestamp) -> Duration!TimeError

Timestamp.to_unix_nanos

Function · Source

pub fn to_unix_nanos(&self) -> i64!TimeError

is_leap_year

Function · Source

pub fn is_leap_year(year: i32) -> bool

days_in_month

Function · Source

pub fn days_in_month(year: i32, month: u32) -> u32!TimeError

Date

Struct · Source

Proleptic Gregorian calendar, astronomical years 0000..9999. Era decomposition follows Howard Hinnant’s civil date algorithms (see docs).

pub struct Date {
    // Private implementation fields omitted.
}

Date.new

Function · Source

pub fn new(year: i32, month: u32, day: u32) -> Date!TimeError

Date.year

Function · Source

pub fn year(&self) -> i32

Date.month

Function · Source

pub fn month(&self) -> u32

Date.day

Function · Source

pub fn day(&self) -> u32

Date.clone

Function · Source

pub fn clone(&self) -> Date

Date.days_since_epoch

Function · Source

pub fn days_since_epoch(&self) -> i64

Date.from_days_since_epoch

Function · Source

pub fn from_days_since_epoch(days: i64) -> Date!TimeError

Date.weekday

Function · Source

ISO weekday numbering: Monday=1 through Sunday=7.

pub fn weekday(&self) -> u32

Date.checked_add_days

Function · Source

pub fn checked_add_days(&self, days: i64) -> Date!TimeError

Date.days_since

Function · Source

pub fn days_since(&self, earlier: &Date) -> i64

Date.compare

Function · Source

pub fn compare(&self, other: &Date) -> i32

TimeOfDay

Struct · Source

pub struct TimeOfDay {
    // Private implementation fields omitted.
}

TimeOfDay.new

Function · Source

pub fn new(hour: u32, minute: u32, second: u32, nanoseconds: u32) -> TimeOfDay!TimeError

TimeOfDay.midnight

Function · Source

pub fn midnight() -> TimeOfDay

TimeOfDay.hour

Function · Source

pub fn hour(&self) -> u32

TimeOfDay.minute

Function · Source

pub fn minute(&self) -> u32

TimeOfDay.second

Function · Source

pub fn second(&self) -> u32

TimeOfDay.subsec_nanos

Function · Source

pub fn subsec_nanos(&self) -> u32

TimeOfDay.seconds_since_midnight

Function · Source

pub fn seconds_since_midnight(&self) -> u32

TimeOfDay.clone

Function · Source

pub fn clone(&self) -> TimeOfDay

TimeOfDay.from_seconds_since_midnight

Function · Source

pub fn from_seconds_since_midnight(seconds: u32, nanoseconds: u32) -> TimeOfDay!TimeError

TimeOfDay.since_midnight

Function · Source

pub fn since_midnight(&self) -> Duration

TimeOfDay.from_duration

Function · Source

pub fn from_duration(value: &Duration) -> TimeOfDay!TimeError

TimeOfDay.checked_add

Function · Source

Preserve crossed days explicitly rather than silently wrapping the time.

pub fn checked_add(&self, duration: &Duration) -> TimeShift!TimeError

TimeOfDay.checked_sub

Function · Source

pub fn checked_sub(&self, duration: &Duration) -> TimeShift!TimeError

TimeOfDay.compare

Function · Source

pub fn compare(&self, other: &TimeOfDay) -> i32

TimeShift

Struct · Source

pub struct TimeShift {
    // Private implementation fields omitted.
}

TimeShift.day_offset

Function · Source

pub fn day_offset(&self) -> i64

TimeShift.time_of_day

Function · Source

pub fn time_of_day(&self) -> &TimeOfDay

DateTime

Struct · Source

A UTC calendar value. No implicit local offset or timezone lookup.

pub struct DateTime {
    // Private implementation fields omitted.
}

DateTime.new

Function · Source

pub fn new(date: Date, clock: TimeOfDay) -> DateTime

DateTime.date

Function · Source

pub fn date(&self) -> &Date

DateTime.time_of_day

Function · Source

pub fn time_of_day(&self) -> &TimeOfDay

DateTime.to_timestamp

Function · Source

pub fn to_timestamp(&self) -> Timestamp

DateTime.checked_add

Function · Source

pub fn checked_add(&self, duration: &Duration) -> DateTime!TimeError

DateTime.checked_sub

Function · Source

pub fn checked_sub(&self, duration: &Duration) -> DateTime!TimeError

DateTime.duration_since

Function · Source

pub fn duration_since(&self, earlier: &DateTime) -> Duration!TimeError

DateTime.from_timestamp

Function · Source

pub fn from_timestamp(value: &Timestamp) -> DateTime!TimeError

Instant

Struct · Source

Clock-relative ticks. Distinct clock identities are never comparable.

pub struct Instant {
    // Private implementation fields omitted.
}

Instant.new

Function · Source

pub fn new(clock_id: u64, ticks: Duration) -> Instant

Instant.clock_id

Function · Source

pub fn clock_id(&self) -> u64

Instant.elapsed_ticks

Function · Source

pub fn elapsed_ticks(&self) -> &Duration

Instant.clone

Function · Source

pub fn clone(&self) -> Instant

Instant.compare

Function · Source

pub fn compare(&self, other: &Instant) -> i32!TimeError

Instant.duration_since

Function · Source

pub fn duration_since(&self, earlier: &Instant) -> Duration!TimeError

Instant.checked_add

Function · Source

pub fn checked_add(&self, duration: &Duration) -> Instant!TimeError

Instant.checked_sub

Function · Source

pub fn checked_sub(&self, duration: &Duration) -> Instant!TimeError

Type to search all documentation.

Keyboard shortcuts

Search documentation
Ctrl K or /
Move through results
↑ ↓
Open selected result
Enter
Close a dialog
Esc
Show these shortcuts
?