docs / stdlib / time

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

codec

  1. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. FiberLocal
  5. Lock
  6. Mutex
  7. RwLock
  8. Semaphore
  9. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. RecoverableException
  4. Throwable
  5. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. Blake3
  2. DefaultHasher
  3. Hash
  4. MD5
  5. Sha1
  6. Sha256
  7. SipHash
  8. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. IpAddress
  2. Server
  3. ServerBuilder
  4. SocketAddress
  5. TcpListener
  6. TcpStream
  7. UdpSocket

io / net / dns

  1. Dns

io / net / tls

  1. TlsConnection
  2. TlsListener

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. Decompressor
  3. Encoder
  4. Schema
  5. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream

xpu / mesh

  1. MeshSimplifier

Duration

cajeta.time.Duration — an immutable, signed time-based amount with nanosecond precision, modeled on java.time.Duration but backed by a single int64 nanosecond count (range roughly ±292 years). Negative durations are valid — they arise from Instant.between when the end precedes the start, and from negated(). All factories and arithmetic return fresh stack values; equality and ordering are by total nanoseconds. Contrast with Period, the calendar-based amount.

Duration d = Duration.ofSeconds(90L);
Duration half = Duration.ofMillis(500L);
Duration total = d.plus(half);
int64 ms = total.toMillis();              // 90500
boolean shorter = d.compareTo(total) < 0; // true

Methods

Signature
Duration(int64 nanos)Construct directly from a nanosecond count
static Duration ofNanos(int64 nanos)Construct from a raw nanosecond count
static Duration ofMillis(int64 millis)Construct from milliseconds
static Duration ofSeconds(int64 seconds)Construct from seconds
static Duration ofMinutes(int64 minutes)Construct from minutes
static Duration ofHours(int64 hours)Construct from hours
static Duration ofDays(int64 days)Construct from days
static Duration zero()The zero duration
int64 toNanos()Total nanoseconds
int64 toMillis()Total whole milliseconds (truncated toward zero)
int64 toSeconds()Total whole seconds (truncated toward zero)
int64 toMinutes()Total whole minutes (truncated toward zero)
int64 toHours()Total whole hours (truncated toward zero)
int64 toDays()Total whole days (truncated toward zero)
int32 nanosPart()Nanosecond-of-second part, -999999999..999999999 (sign follows the value)
Duration plus(Duration other)Sum, as a new stack Duration
Duration minus(Duration other)Difference this - other, as a new stack Duration
Duration multipliedBy(int64 scalar)Scale by an integer factor
Duration dividedBy(int64 divisor)Integer division (truncates toward zero)
Duration negated()The negation of this amount
Duration abs()The absolute value of this amount
boolean isZero()True iff exactly zero
boolean isNegative()True iff negative
int32 compareTo(Duration other)Total order by nanoseconds
int64 hash()Content hash (the nanosecond count)
static boolean operator== (Duration a, Duration b)Value equality — a == b

⚑ = @EntryPoint

See also

Source: docs/stdlib/time/Duration.md · 2 min read · 383 words