BridgeTime — Datetime Toolkit
Familiar Date APIs, Native Rust Speed
5Locale Packs
en, fr, es, de, pt includedBatchParse / Format APIsfast vectorized-style operations
1 corePython + Nodesame behavior across both bindings
BridgeTime gives you a Day.js/Moment-style developer experience with a Rust core under the hood.
Use the same concepts in Python and Node.js while keeping execution fast and deterministic.
Installation
Section titled “Installation”pip install bridgetimenpm install @bridgerust/bridgetimeQuick Start
Section titled “Quick Start”from bridgetime import bridge_time, bridge_duration
now = bridge_time.now("UTC")future = now.add(2, "week").start_of("day")print(future.format("YYYY-MM-DD HH:mm:ss"))
# Locale + calendar outputprint(future.calendar(locale="fr"))
# Batch formattingrows = bridge_time.format_batch( ["2026-01-02T10:00:00Z", "2026-01-03T15:30:00Z"], "YYYY-MM-DD", "UTC",)print(rows)
duration = bridge_duration(90, "minute")print(duration.humanize(True))import { bridgeTime, bridgeDuration } from "@bridgerust/bridgetime";
const now = bridgeTime.now("UTC");const future = now.add(2, "week").startOf("day");console.log(future.format("YYYY-MM-DD HH:mm:ss"));
// Locale + calendar outputconsole.log(future.calendar("fr"));
// Batch formattingconst rows = bridgeTime.formatBatch( ["2026-01-02T10:00:00Z", "2026-01-03T15:30:00Z"], "YYYY-MM-DD", "UTC");console.log(rows);
const duration = bridgeDuration(90, "minute");console.log(duration.humanize(true));Capability Areas
Section titled “Capability Areas” Timezone-aware Arithmetic Parse, add, subtract, clamp, compare, and convert IANA timezones safely.
Locale & Calendar Formatting Use locale packs and calendar-style outputs for user-facing datetime strings.
Batch Parse / Format Process arrays of datetime inputs with dedicated batch APIs.
Duration Semantics Create durations, humanize with suffixes, and compose with datetime values.
API Highlights
Section titled “API Highlights”Parsing & creation
Section titled “Parsing & creation”bridge_time.now(tz)bridge_time.parse(iso_string, tz?)bridge_time.parse_format(input, pattern, tz?)bridge_time.from_array([year, month, day, h, m, s, ms], tz?)bridge_time.parse_batch(inputs, tz?)
Formatting
Section titled “Formatting”.format("YYYY-MM-DD HH:mm:ss").to_iso()bridge_time.format_locale(input, format, locale, tz?)bridge_time.calendar(input, locale?, tz?)bridge_time.format_batch(inputs, format, tz?)
Arithmetic, compare, ranges
Section titled “Arithmetic, compare, ranges”.add(value, unit)/.subtract(value, unit).start_of(unit)/.end_of(unit).diff(other, unit, float?).is_before(other)/.is_after(other)/.is_same(other).is_between(start, end, unit?, inclusivity?).clamp(start, end)
Timezone and calendar helpers
Section titled “Timezone and calendar helpers”.to_timezone(iana_name).utc_offset()/.is_utc()/.is_dst().year().month().date().day().hour().minute().second().days_in_month()/.is_leap_year()/.day_of_year().quarter()/.week()/.iso_week()/.iso_weekday()
Relative time + durations
Section titled “Relative time + durations”.from_now()/.to_now().is_today()/.is_yesterday()/.is_tomorrow()bridge_duration(value, unit).humanize(with_suffix?).add_duration(duration)/.subtract_duration(duration)
Package Sources
Section titled “Package Sources”- Rust core:
crates/bridgetime/bridge - Python binding:
bindings/python/bridgetime - Node.js binding:
bindings/node/@bridgerust/bridgetime
BridgeTime Detail Docs
Section titled “BridgeTime Detail Docs” Installation Package installs, runtime requirements, and platform notes.
Quickstart Python and Node examples for parse, format, duration, and timezone workflows.
Locale & Batch Locale packs, calendar formatting, and high-throughput batch parse/format methods.
API Reference Structured method index across factory, instance, and duration APIs.
Use BridgeTime in Production Workflows
Keep a familiar API for app developers while moving date logic to a fast Rust runtime shared by Python and Node.js.