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)

aot

  1. Components
  2. Scope
  3. Scoped

codec

  1. Base32
  2. 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. Fiber
  5. FiberLocal
  6. Lock
  7. Mutex
  8. RwLock
  9. Semaphore
  10. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. NotProvidedException
  4. RecoverableException
  5. ScopedBuildFailedException
  6. ScopeNotActiveException
  7. Throwable
  8. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. DefaultHasher
  2. Hash
  3. SipHash
  4. 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. BufferPool
  2. ByteBuffer
  3. IpAddress
  4. Server
  5. ServerBuilder
  6. SocketAddress
  7. TcpListener
  8. TcpStream
  9. UdpSocket

io / net / dns

  1. Dns

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. CompressStream
  3. DecompressionLimitException
  4. Decompressor
  5. Encoder
  6. Schema
  7. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream
  4. KernelTimer

xpu / mesh

  1. MeshSimplifier

Instant

cajeta.time.Instant — an immutable moment on the UTC timeline with nanosecond precision, modeled on java.time.Instant. Stored as int64 epochSecond (seconds since 1970-01-01T00:00:00Z, may be negative) plus int32 nano (0..999999999), the canonical normalized form so equal instants compare and hash equally. A pure stack value type: arithmetic is via Duration, and calendar breakdown is done by projecting through LocalDateTime at a ZoneOffset. Implements Comparable, so instants sort chronologically.

Instant t0 = Instant.ofEpochSecond(1000L);
Duration hour = Duration.ofHours(1L);
Instant t1 = t0.plus(hour);
Duration gap = Instant.between(t0, t1);   // 1h
boolean earlier = t0.isBefore(t1);        // true

Methods

Signature
Instant(int64 epochSecond, int32 nano)Raw constructor; caller keeps nano in 0..999999999 — prefer the ofEpoch* factories, which normalize
static Instant ofEpochSecond(int64 epochSecond) ⚑The instant epochSecond seconds after the epoch, zero nanos
static Instant ofEpochSecondAdjust(int64 epochSecond, int64 nanoAdjustment)Seconds plus a nanosecond adjustment, normalized
static Instant ofEpochMilli(int64 epochMilli) ⚑The instant epochMilli milliseconds after the epoch
static Instant epoch() ⚑The epoch itself, 1970-01-01T00:00:00Z
int64 getEpochSecond()Seconds since the epoch (may be negative)
int32 getNano()Nanosecond-of-second, 0..999999999
int64 toEpochMilli()Milliseconds since the epoch
Instant plusSeconds(int64 seconds)This instant plus seconds seconds
Instant plusMillis(int64 millis)This instant plus millis milliseconds, normalized
Instant plusNanos(int64 nanos)This instant plus nanos nanoseconds, normalized
Instant plus(Duration d)This instant advanced by a Duration
Instant minus(Duration d)This instant moved back by a Duration
static Duration between(Instant start, Instant end) ⚑Elapsed Duration from start to end (negative if end precedes start)
int32 compareTo(Instant other)Total order on the UTC timeline
boolean isBefore(Instant other)True iff strictly before other
boolean isAfter(Instant other)True iff strictly after other
int64 hash()Content hash mixing the two fields
static boolean operator== (Instant a, Instant b)Value equality — a == b

⚑ = @EntryPoint

See also

Source: docs/stdlib/time/Instant.md · 2 min read · 352 words