Stdlib module datetime.vitl

This page is a wiki-style reference for one concrete stdlib file. It explains what the file owns, where it fits in the family, and how to decide whether this is the right surface to depend on.

Visual portrait of datetime.vitl
Wiki-style portrait for datetime.vitl.

Family: stdlib

Kind: public stdlib surface

Page style: this reference follows the same “encyclopedic card + portrait + usage contract” logic as the keyword pages, but for stdlib modules.

Summary

Overview

FieldValue
Pathdatetime.vitl
Familystdlib
Kindpublic stdlib surface
Line count645
Declared procedures138
Declared forms/picks16

`datetime.vitl` is a public stdlib surface inside the `stdlib` family. It should be read as one focused slice of the broader family responsibility: Top-level map of the Vitte standard library and the responsibilities owned by each family.

Purpose

This file should be chosen because of responsibility, not because its name “sounds close enough”. Inside the stdlib family, it carries one focused part of the contract and keeps that responsibility separate from neighboring concerns.

  • Domain values start in `core` and `strings`.
  • Grouped data moves through `collections` or `data`.
  • Structured export goes through `json` and `encoding`.
  • Filesystem or process interaction goes through `path`, `io`, `os`, or `sysinfo`.
  • Explicit runtime coordination goes through `async`, `threading`, `kernel`, or `ffi`.

Taxonomy

Think of this page as a generated encyclopedia entry rather than a hand-written tutorial. The goal is to show what kind of module this is, how dense it is, and what reading strategy makes sense before depending on it.

  • Large algorithm surface: this file exposes many procedures and likely acts as a domain toolkit rather than a single thin wrapper.
  • Owns domain vocabulary: the module declares data shapes in addition to executable helpers, so its types are part of the contract.
  • Has tuning constants: part of the module behavior is controlled by named constants that document default precision, limits, or policy.
  • Minimal top-level dependencies: the module reads as mostly self-contained from its opening declarations.

Implementation profile

This profile is inferred directly from the source text. It does not replace reading the file, but it tells you quickly whether the module is mostly declarative, loop-heavy, branch-heavy, or organized around many small exits.

SignalCountWhat it suggests
if0Branching density and local decision-making.
while0Loop-heavy or iterative implementation style.
for0Collection-style traversal at source level.
match0Variant-driven branching or grammar-style decoding.
let0Local state and intermediate value density.
give138Number of explicit exit points and result shaping.

Top-level API inventory

SurfaceItems
Proceduresdatetime_library_version, datetime_library_name, datetime_library_module_count, datetime_library_modules, datetime_library_manifest, datetime_library_ready, datetime_library_health, datetime_library_summary, datetime_library_selftest, datetime_library_report, duration_new, duration_zero
FormsDatetimeLibraryManifest, DatetimeLibraryHealth, DatetimeLibrarySummary, DatetimeLibraryReport, Duration, Date, Time, DateTime, UnixTimestamp
PicksWeekday, Month, MaybeMonth, DateTimeError, MaybeDate, MaybeTime, MaybeDateTime
ConstantsNANOS_PER_MICRO, NANOS_PER_MILLI, NANOS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, SECONDS_PER_HOUR, SECONDS_PER_DAY, MILLIS_PER_SECOND, MICROS_PER_SECOND, UNIX_EPOCH_YEAR
Exportsnone declared at top level

Imported surfaces

This file does not advertise a top-level `use` surface in its opening declarations. That often means it is either self-contained or an aggregation layer.

Position in family

This file is module 3 of 15 in the stdlib family when ordered by path. By procedure count it ranks 2, and by line count it ranks 4. Those ranks are useful as rough signals of breadth, not as quality judgments.

Declaration map

The declaration map turns raw source into a scan-friendly catalog. It is useful when the file is large enough that a reader wants to orient by kinds of surfaces first.

LineNameKindRole
1vitte/stdlib_checked/datetimespaceDeclares the namespace that anchors this file in the stdlib tree.
9DatetimeLibraryManifestformIntroduces a structured data shape that other procedures can exchange.
13DatetimeLibraryHealthformIntroduces a structured data shape that other procedures can exchange.
17DatetimeLibrarySummaryformIntroduces a structured data shape that other procedures can exchange.
21DatetimeLibraryReportformIntroduces a structured data shape that other procedures can exchange.
25NANOS_PER_MICROconstDefines a named constant reused across the module.
27NANOS_PER_MILLIconstDefines a named constant reused across the module.
29NANOS_PER_SECONDconstDefines a named constant reused across the module.
31SECONDS_PER_MINUTEconstDefines a named constant reused across the module.
33MINUTES_PER_HOURconstDefines a named constant reused across the module.
35HOURS_PER_DAYconstDefines a named constant reused across the module.
37SECONDS_PER_HOURconstDefines a named constant reused across the module.
39SECONDS_PER_DAYconstDefines a named constant reused across the module.
41MILLIS_PER_SECONDconstDefines a named constant reused across the module.
43MICROS_PER_SECONDconstDefines a named constant reused across the module.
45UNIX_EPOCH_YEARconstDefines a named constant reused across the module.
47datetime_library_versionprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
51datetime_library_nameprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
55datetime_library_module_countprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
59datetime_library_modulesprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
63datetime_library_manifestprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
67datetime_library_readyprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
71datetime_library_healthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
75datetime_library_summaryprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
79datetime_library_selftestprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
83datetime_library_reportprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
87DurationformIntroduces a structured data shape that other procedures can exchange.
91DateformIntroduces a structured data shape that other procedures can exchange.
95TimeformIntroduces a structured data shape that other procedures can exchange.
99DateTimeformIntroduces a structured data shape that other procedures can exchange.
103UnixTimestampformIntroduces a structured data shape that other procedures can exchange.
107WeekdaypickIntroduces a tagged variant type used to model distinct outcomes.
111MonthpickIntroduces a tagged variant type used to model distinct outcomes.
115MaybeMonthpickIntroduces a tagged variant type used to model distinct outcomes.
119DateTimeErrorpickIntroduces a tagged variant type used to model distinct outcomes.
123MaybeDatepickIntroduces a tagged variant type used to model distinct outcomes.
127MaybeTimepickIntroduces a tagged variant type used to model distinct outcomes.
131MaybeDateTimepickIntroduces a tagged variant type used to model distinct outcomes.
135duration_newprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
139duration_zeroprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
143duration_from_secondsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
147duration_from_millisprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
151duration_from_microsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
155duration_from_nanosprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
159duration_total_secondsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
163duration_total_millisprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
167duration_total_microsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
171duration_total_nanosprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
175duration_addprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
179duration_subprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
183duration_negprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
187duration_cmpprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
191duration_eqprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
195duration_ltprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
199duration_lteprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
203duration_gtprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
207duration_gteprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
211is_leap_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
215days_in_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
219days_in_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
223month_to_numberprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
227number_to_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
231month_nameprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
235month_short_nameprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
239weekday_nameprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
243weekday_short_nameprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
247validate_dateprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
251validate_timeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
255validate_datetimeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
259date_newprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
263time_newprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
267datetime_newprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
271date_ordinalprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
275date_from_ordinalprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
279days_before_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
283days_before_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
287date_to_days_since_epochprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
291days_since_epoch_to_dateprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
295time_to_secondsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
299seconds_to_timeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
303datetime_to_unixprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
307unix_to_datetimeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
311unix_normalizeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
315unix_from_secondsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
319unix_from_millisprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
323unix_to_millisprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
327floor_divprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
331floor_modprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
335weekday_from_daysprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
339date_weekdayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
343date_add_daysprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
347datetime_add_durationprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
351datetime_sub_durationprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
355datetime_duration_betweenprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
359date_cmpprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
363time_cmpprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
367datetime_cmpprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
371date_eqprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
375time_eqprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
379datetime_eqprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
383date_is_beforeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
387date_is_afterprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
391datetime_is_beforeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
395datetime_is_afterprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
399clamp_u8procRepresents one top-level surface in the file contract and should be read as part of the module boundary.
403ascii_digit_valueprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
407is_ascii_digitprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
411parse_2_digitsprocTransforms an input representation into a structured internal value.
415parse_4_digitsprocTransforms an input representation into a structured internal value.
419parse_date_yyyy_mm_ddprocTransforms an input representation into a structured internal value.
423parse_time_hh_mm_ssprocTransforms an input representation into a structured internal value.
427parse_datetime_iso_basicprocTransforms an input representation into a structured internal value.
431two_digitsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
435four_digitsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
439format_date_isoprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
443format_time_isoprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
447format_datetime_isoprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
451format_datetime_spaceprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
455format_date_humanprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
459format_weekday_dateprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
463start_of_dayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
467end_of_dayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
471date_next_dayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
475date_prev_dayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
479date_add_weeksprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
483date_start_of_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
487date_end_of_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
491date_start_of_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
495date_end_of_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
499date_add_monthsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
503date_add_yearsprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
507floor_div_i32procRepresents one top-level surface in the file contract and should be read as part of the module boundary.
511floor_mod_i32procRepresents one top-level surface in the file contract and should be read as part of the module boundary.
515iso_weekday_numberprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
519date_iso_weekday_numberprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
523is_weekendprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
527is_weekdayprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
531date_days_betweenprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
535datetime_seconds_betweenprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
539unix_epoch_datetimeprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
543unix_epoch_dateprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
547midnightprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
551noonprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
555time_add_durationprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
559time_is_midnightprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
563time_is_noonprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
567date_quarterprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
571date_day_of_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
575date_days_remaining_in_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
579date_days_remaining_in_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
583date_is_first_day_of_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
587date_is_last_day_of_monthprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
591date_is_first_day_of_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
595date_is_last_day_of_yearprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
599timestamp_cmpprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
603timestamp_add_durationprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
607timestamp_sub_durationprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
611timestamp_duration_betweenprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
615datetime_now_unavailableprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
619string_lenprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
623string_atprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
627string_sliceprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
631string_concatprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
635string_concat_manyprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
639int_to_stringprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.
643datetime_selftestprocRepresents one top-level surface in the file contract and should be read as part of the module boundary.

The table is exhaustive for top-level declarations of the selected kinds. This file declares 166 matching surfaces.

Representative signatures

These signatures are shown in source order so the page keeps the feel of a reference manual, not just a keyword cloud.

  • form DatetimeLibraryManifest { (line 9)
  • form DatetimeLibraryHealth { (line 13)
  • form DatetimeLibrarySummary { (line 17)
  • form DatetimeLibraryReport { (line 21)
  • const NANOS_PER_MICRO: i64 = 0 (line 25)
  • const NANOS_PER_MILLI: i64 = 0 (line 27)
  • const NANOS_PER_SECOND: i64 = 0 (line 29)
  • const SECONDS_PER_MINUTE: i64 = 0 (line 31)
  • const MINUTES_PER_HOUR: i64 = 0 (line 33)
  • const HOURS_PER_DAY: i64 = 0 (line 35)
  • const SECONDS_PER_HOUR: i64 = 0 (line 37)
  • const SECONDS_PER_DAY: i64 = 0 (line 39)
  • const MILLIS_PER_SECOND: i64 = 0 (line 41)
  • const MICROS_PER_SECOND: i64 = 0 (line 43)
  • const UNIX_EPOCH_YEAR: i32 = 0 (line 45)
  • proc datetime_library_version() -> int { (line 47)
  • proc datetime_library_name() -> int { (line 51)
  • proc datetime_library_module_count() -> int { (line 55)

The list is intentionally capped here; the source file declares 165 matching signatures in total.

How to use this module

Start by reading the file as an ownership boundary. Ask three questions: what enters this module, what stable types or procedures it exports, and what adjacent module should stay outside of it.

  1. Read space and top-level imports first so the ownership boundary of datetime.vitl is explicit.
  2. Scan constants before procedures; they often encode precision, limits, or policy assumptions that explain later behavior.
  3. Read declared forms and picks before algorithms so the data vocabulary is stable in your head.
  4. Traverse procedures in source order; the early helpers usually explain the naming and numeric conventions used later.
  5. Only after that compare neighbor modules, because the right boundary choice matters more than memorizing one helper name.

User example

This example is generated from the actual stdlib module surface. Its job is not to be the smallest snippet possible; its job is to show a realistic consumer-shaped file that exercises the module and mirrors the language keywords the module itself relies on.

space demo/datetime
form DemoState {
  ready: bool,
  note: string
}
proc run_example() -> DemoState {
  let ready: bool = datetime_library_version()
  give DemoState { ready: ready, note: "ok" }
}

Keyword coverage

This table makes the “all keywords of the module” requirement auditable. It compares the detected Vitte keywords in the source file with the generated consumer example above.

KeywordPresent in module sourceUsed in generated user example
spaceyesyes
constyesno
formyesyes
pickyesno
procyesyes
giveyesyes

Keywords still not exercised directly in the generated snippet: const, pick. The page still lists them here so the gap is visible.

Source shape

space vitte/stdlib_checked/datetime
form DatetimeLibraryManifest {
  value: int
}
form DatetimeLibraryHealth {
  value: int
}
form DatetimeLibrarySummary {
  value: int
}

The excerpt is not meant to replace the file. It exists to make the module recognizable at first glance, the same way a Wikipedia infobox helps the reader orient before reading the whole article.

Source landmarks

Large files are easier to retain when they have visible landmarks. When the source contains explicit section banners, they are surfaced here; otherwise the first major declarations are used as anchors.

  • Line 1: space vitte/stdlib_checked/datetime
  • Line 9: form DatetimeLibraryManifest {
  • Line 13: form DatetimeLibraryHealth {
  • Line 17: form DatetimeLibrarySummary {
  • Line 21: form DatetimeLibraryReport {
  • Line 25: const NANOS_PER_MICRO: i64 = 0
  • Line 27: const NANOS_PER_MILLI: i64 = 0
  • Line 29: const NANOS_PER_SECOND: i64 = 0

Source organization

When a file carries its own internal chaptering, those chapters usually reveal the intended reading order better than a flat symbol list. This section reconstructs that organization from the source itself.

File surfaces

Top-level items: 166. Procedures: 138. Data surfaces: 16. Constants: 11.

First visible names: vitte/stdlib_checked/datetime, DatetimeLibraryManifest, DatetimeLibraryHealth, DatetimeLibrarySummary, DatetimeLibraryReport, NANOS_PER_MICRO, NANOS_PER_MILLI, NANOS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR

Complete API catalog

This catalog is the exhaustive file-level index for the module. It is intentionally closer to a generated encyclopedia appendix than to a tutorial summary.

Constants

LineNameSignatureRole
25NANOS_PER_MICROconst NANOS_PER_MICRO: i64 = 0Defines a named constant reused across the module.
27NANOS_PER_MILLIconst NANOS_PER_MILLI: i64 = 0Defines a named constant reused across the module.
29NANOS_PER_SECONDconst NANOS_PER_SECOND: i64 = 0Defines a named constant reused across the module.
31SECONDS_PER_MINUTEconst SECONDS_PER_MINUTE: i64 = 0Defines a named constant reused across the module.
33MINUTES_PER_HOURconst MINUTES_PER_HOUR: i64 = 0Defines a named constant reused across the module.
35HOURS_PER_DAYconst HOURS_PER_DAY: i64 = 0Defines a named constant reused across the module.
37SECONDS_PER_HOURconst SECONDS_PER_HOUR: i64 = 0Defines a named constant reused across the module.
39SECONDS_PER_DAYconst SECONDS_PER_DAY: i64 = 0Defines a named constant reused across the module.
41MILLIS_PER_SECONDconst MILLIS_PER_SECOND: i64 = 0Defines a named constant reused across the module.
43MICROS_PER_SECONDconst MICROS_PER_SECOND: i64 = 0Defines a named constant reused across the module.
45UNIX_EPOCH_YEARconst UNIX_EPOCH_YEAR: i32 = 0Defines a named constant reused across the module.

Data surfaces

LineNameSignatureRole
9DatetimeLibraryManifestform DatetimeLibraryManifest {Introduces a structured data shape that other procedures can exchange.
13DatetimeLibraryHealthform DatetimeLibraryHealth {Introduces a structured data shape that other procedures can exchange.
17DatetimeLibrarySummaryform DatetimeLibrarySummary {Introduces a structured data shape that other procedures can exchange.
21DatetimeLibraryReportform DatetimeLibraryReport {Introduces a structured data shape that other procedures can exchange.
87Durationform Duration {Introduces a structured data shape that other procedures can exchange.
91Dateform Date {Introduces a structured data shape that other procedures can exchange.
95Timeform Time {Introduces a structured data shape that other procedures can exchange.
99DateTimeform DateTime {Introduces a structured data shape that other procedures can exchange.
103UnixTimestampform UnixTimestamp {Introduces a structured data shape that other procedures can exchange.
107Weekdaypick Weekday {Introduces a tagged variant type used to model distinct outcomes.
111Monthpick Month {Introduces a tagged variant type used to model distinct outcomes.
115MaybeMonthpick MaybeMonth {Introduces a tagged variant type used to model distinct outcomes.
119DateTimeErrorpick DateTimeError {Introduces a tagged variant type used to model distinct outcomes.
123MaybeDatepick MaybeDate {Introduces a tagged variant type used to model distinct outcomes.
127MaybeTimepick MaybeTime {Introduces a tagged variant type used to model distinct outcomes.
131MaybeDateTimepick MaybeDateTime {Introduces a tagged variant type used to model distinct outcomes.

Procedures

LineNameSignatureRole
47datetime_library_versionproc datetime_library_version() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
51datetime_library_nameproc datetime_library_name() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
55datetime_library_module_countproc datetime_library_module_count() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
59datetime_library_modulesproc datetime_library_modules() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
63datetime_library_manifestproc datetime_library_manifest() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
67datetime_library_readyproc datetime_library_ready() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
71datetime_library_healthproc datetime_library_health() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
75datetime_library_summaryproc datetime_library_summary() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
79datetime_library_selftestproc datetime_library_selftest() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
83datetime_library_reportproc datetime_library_report() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
135duration_newproc duration_new() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
139duration_zeroproc duration_zero() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
143duration_from_secondsproc duration_from_seconds() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
147duration_from_millisproc duration_from_millis() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
151duration_from_microsproc duration_from_micros() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
155duration_from_nanosproc duration_from_nanos() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
159duration_total_secondsproc duration_total_seconds() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
163duration_total_millisproc duration_total_millis() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
167duration_total_microsproc duration_total_micros() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
171duration_total_nanosproc duration_total_nanos() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
175duration_addproc duration_add() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
179duration_subproc duration_sub() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
183duration_negproc duration_neg() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
187duration_cmpproc duration_cmp() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
191duration_eqproc duration_eq() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
195duration_ltproc duration_lt() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
199duration_lteproc duration_lte() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
203duration_gtproc duration_gt() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
207duration_gteproc duration_gte() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
211is_leap_yearproc is_leap_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
215days_in_monthproc days_in_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
219days_in_yearproc days_in_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
223month_to_numberproc month_to_number() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
227number_to_monthproc number_to_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
231month_nameproc month_name() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
235month_short_nameproc month_short_name() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
239weekday_nameproc weekday_name() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
243weekday_short_nameproc weekday_short_name() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
247validate_dateproc validate_date() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
251validate_timeproc validate_time() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
255validate_datetimeproc validate_datetime() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
259date_newproc date_new() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
263time_newproc time_new() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
267datetime_newproc datetime_new() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
271date_ordinalproc date_ordinal() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
275date_from_ordinalproc date_from_ordinal() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
279days_before_yearproc days_before_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
283days_before_monthproc days_before_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
287date_to_days_since_epochproc date_to_days_since_epoch() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
291days_since_epoch_to_dateproc days_since_epoch_to_date() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
295time_to_secondsproc time_to_seconds() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
299seconds_to_timeproc seconds_to_time() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
303datetime_to_unixproc datetime_to_unix() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
307unix_to_datetimeproc unix_to_datetime() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
311unix_normalizeproc unix_normalize() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
315unix_from_secondsproc unix_from_seconds() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
319unix_from_millisproc unix_from_millis() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
323unix_to_millisproc unix_to_millis() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
327floor_divproc floor_div() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
331floor_modproc floor_mod() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
335weekday_from_daysproc weekday_from_days() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
339date_weekdayproc date_weekday() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
343date_add_daysproc date_add_days() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
347datetime_add_durationproc datetime_add_duration() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
351datetime_sub_durationproc datetime_sub_duration() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
355datetime_duration_betweenproc datetime_duration_between() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
359date_cmpproc date_cmp() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
363time_cmpproc time_cmp() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
367datetime_cmpproc datetime_cmp() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
371date_eqproc date_eq() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
375time_eqproc time_eq() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
379datetime_eqproc datetime_eq() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
383date_is_beforeproc date_is_before() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
387date_is_afterproc date_is_after() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
391datetime_is_beforeproc datetime_is_before() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
395datetime_is_afterproc datetime_is_after() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
399clamp_u8proc clamp_u8() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
403ascii_digit_valueproc ascii_digit_value() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
407is_ascii_digitproc is_ascii_digit() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
411parse_2_digitsproc parse_2_digits() -> int {Transforms an input representation into a structured internal value.
415parse_4_digitsproc parse_4_digits() -> int {Transforms an input representation into a structured internal value.
419parse_date_yyyy_mm_ddproc parse_date_yyyy_mm_dd() -> int {Transforms an input representation into a structured internal value.
423parse_time_hh_mm_ssproc parse_time_hh_mm_ss() -> int {Transforms an input representation into a structured internal value.
427parse_datetime_iso_basicproc parse_datetime_iso_basic() -> int {Transforms an input representation into a structured internal value.
431two_digitsproc two_digits() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
435four_digitsproc four_digits() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
439format_date_isoproc format_date_iso() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
443format_time_isoproc format_time_iso() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
447format_datetime_isoproc format_datetime_iso() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
451format_datetime_spaceproc format_datetime_space() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
455format_date_humanproc format_date_human() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
459format_weekday_dateproc format_weekday_date() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
463start_of_dayproc start_of_day() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
467end_of_dayproc end_of_day() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
471date_next_dayproc date_next_day() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
475date_prev_dayproc date_prev_day() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
479date_add_weeksproc date_add_weeks() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
483date_start_of_monthproc date_start_of_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
487date_end_of_monthproc date_end_of_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
491date_start_of_yearproc date_start_of_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
495date_end_of_yearproc date_end_of_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
499date_add_monthsproc date_add_months() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
503date_add_yearsproc date_add_years() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
507floor_div_i32proc floor_div_i32() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
511floor_mod_i32proc floor_mod_i32() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
515iso_weekday_numberproc iso_weekday_number() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
519date_iso_weekday_numberproc date_iso_weekday_number() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
523is_weekendproc is_weekend() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
527is_weekdayproc is_weekday() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
531date_days_betweenproc date_days_between() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
535datetime_seconds_betweenproc datetime_seconds_between() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
539unix_epoch_datetimeproc unix_epoch_datetime() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
543unix_epoch_dateproc unix_epoch_date() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
547midnightproc midnight() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
551noonproc noon() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
555time_add_durationproc time_add_duration() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
559time_is_midnightproc time_is_midnight() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
563time_is_noonproc time_is_noon() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
567date_quarterproc date_quarter() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
571date_day_of_yearproc date_day_of_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
575date_days_remaining_in_yearproc date_days_remaining_in_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
579date_days_remaining_in_monthproc date_days_remaining_in_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
583date_is_first_day_of_monthproc date_is_first_day_of_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
587date_is_last_day_of_monthproc date_is_last_day_of_month() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
591date_is_first_day_of_yearproc date_is_first_day_of_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
595date_is_last_day_of_yearproc date_is_last_day_of_year() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
599timestamp_cmpproc timestamp_cmp() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
603timestamp_add_durationproc timestamp_add_duration() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
607timestamp_sub_durationproc timestamp_sub_duration() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
611timestamp_duration_betweenproc timestamp_duration_between() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
615datetime_now_unavailableproc datetime_now_unavailable() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
619string_lenproc string_len() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
623string_atproc string_at() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
627string_sliceproc string_slice() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
631string_concatproc string_concat() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
635string_concat_manyproc string_concat_many() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
639int_to_stringproc int_to_string() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.
643datetime_selftestproc datetime_selftest() -> int {Represents one top-level surface in the file contract and should be read as part of the module boundary.

Integration boundaries

Within stdlib, this file should remain focused. If a future helper changes the host boundary, scheduling boundary, or data-shape boundary, it probably belongs in a neighbor module instead of being added here by convenience.

  • Family responsibility: Top-level map of the Vitte standard library and the responsibilities owned by each family.
  • Family architecture role: A realistic Vitte program usually starts in `core`, grows through `collections` or `data`, crosses textual boundaries with `json` or `encoding`, touches the host with `path` or `io`, and only then reaches system-facing families like `kernel`, `ffi`, `async`, or `threading`.

Composition guidance

Choose this module when

  • Choose datetime.vitl when the main question is owned by this module rather than by transport, storage, orchestration, or user-interface code.
  • Domain values start in `core` and `strings`.
  • Grouped data moves through `collections` or `data`.
  • Structured export goes through `json` and `encoding`.
  • Filesystem or process interaction goes through `path`, `io`, `os`, or `sysinfo`.
  • Explicit runtime coordination goes through `async`, `threading`, `kernel`, or `ffi`.

Pause before extending it when

  • Avoid extending this file when the new helper mostly changes the boundary to host I/O, runtime coordination, or foreign integration instead of staying inside stdlib.
  • Check nearby modules such as GETTING_STARTED.vitl, core_alias.vitl, graphics.vitl before adding convenience wrappers here.

Relationship table

This table keeps the page closer to a real encyclopedia entry: a module is easier to understand when compared with its nearest alternatives in the same family.

NeighborProceduresData surfacesWhy compare it
GETTING_STARTED.vitl260Shares the same family boundary but carries a distinct slice of responsibility.
core_alias.vitl00Shares the same family boundary but carries a distinct slice of responsibility.
graphics.vitl50Shares the same family boundary but carries a distinct slice of responsibility.
memory.vitl13716Shares the same family boundary but carries a distinct slice of responsibility.
mod.vit162Shares the same family boundary but carries a distinct slice of responsibility.
network/http.vitl42Shares the same family boundary but carries a distinct slice of responsibility.
network/socket.vitl52Shares the same family boundary but carries a distinct slice of responsibility.
network/udp.vitl32Shares the same family boundary but carries a distinct slice of responsibility.

Neighbor modules