Baltor Get started

Corner cases

Dates, times and time zones

IANA time zone tables with aliases, abbreviations and offsets, RFC 3339 helpers, date formats by country, and checkers for out-of-order timestamps and missed deadlines.

15 shown here, each at the exact version the library release of October 9, 2026 serves.

What to watch for

  • An abbreviation such as CST or IST names more than one zone, so store the IANA name.
  • Some offsets are not whole hours, such as +05:30 and +05:45.
  • 03/04 is March 4 in one country and 3 April in another.

Test packs and checks

  1. Time zones with abbreviations, UTC offsets and daylight saving

    timezones.json

    Time zones with abbreviations, UTC offsets, daylight saving and their IANA zone names: 108 rows with a JSON Schema, a checked loader and tests.

    Rows
    108
    Data file
    data/timezones.json

    Code moduleMIT8 files, 40.5 KBreads files, runs commands

  2. Time zone long names and their common abbreviations

    abbreviations.json

    Time zone long names and their common abbreviations (e.g.

    Rows
    272
    Data file
    data/abbreviations.json

    Code moduleMIT8 files, 18.8 KBreads files, runs commands

  3. Conventional date format by country with ISO country and language codes

    date-formats.json

    Conventional date format by country with ISO country and language codes: 95 rows with a JSON Schema, a checked loader and tests.

    Rows
    95
    Data file
    data/date-formats.json

    Code moduleMIT8 files, 27.5 KBreads files, runs commands

  4. US federal holidays with their date rules

    federal_holidays.csv

    US federal holidays with date rule, official name, year established and details: 11 rows with a JSON Schema, a checked loader and tests.

    Rows
    11
    Data file
    data/federal_holidays.csv

    Code moduleCC0-1.0 AND MIT8 files, 23.8 KBreads files, runs commands

  5. datetime_utcoffset from pyRFC3339

    datetime_utcoffset

    datetime_utcoffset from pyRFC3339: Return the UTC offset for an aware :class:`datetime.datetime` in seconds.

    Function
    datetime_utcoffset
    Project
    pyRFC3339

    Code moduleMIT6 files, 5.9 KBruns commands

  6. generate from pyRFC3339

    generate

    generate from pyRFC3339: Generate an :RFC:`3339`-formatted timestamp from a :class:`datetime.datetime`.

    Function
    generate
    Project
    pyRFC3339

    Code moduleMIT6 files, 8.2 KBruns commands

  7. parse_date_time from RDFLib

    parse_date_time

    parse_date_time from RDFLib (RDF terms, N3 and JSON-LD helpers): always returns seconds in UTC One tested Python function, copied with the code it needs.

    Function
    parse_date_time
    Project
    RDFLib (RDF terms, N3 and JSON-LD helpers)

    Code moduleMIT AND BSD-3-Clause6 files, 7.0 KBruns commands

  8. format_timestamp from Tornado httputil

    format_timestamp

    format_timestamp from Tornado httputil: Formats a timestamp in the format used by HTTP.

    Function
    format_timestamp
    Project
    Tornado httputil

    Code moduleMIT AND Apache-2.06 files, 16.0 KBruns commands

  9. jday from sgp4

    jday

    jday from sgp4 (satellite orbit propagation: Julian date helpers): Return two floats that, when added, produce the specified Julian date.

    Function
    jday
    Project
    sgp4 (satellite orbit propagation

    Code moduleMIT6 files, 6.0 KBruns commands

  10. Records retention and disposition date calculator

    records_retention_schedule

    Apply a retention schedule to records: find each trigger date, add the retention period, and mark records due, due soon, on legal hold, waiting for their trigger or retained, with file names checked against a naming pattern.

    Runs with
    Python 3.10 or later
    Command
    python3 records_retention_schedule.py < input.json

    Code moduleMIT12 files, 61.4 KBruns commands

  11. Operational log completeness and order audit

    record_log_auditor

    Audit an operational log for missing required fields, unreadable or out-of-order timestamps, repeated ids, sequence gaps and repeats, and missing days or hours per group against a period, with coverage shares.

    Runs with
    Python 3.10 or later
    Command
    python3 record_log_auditor.py < input.json

    Code moduleMIT12 files, 70.6 KBruns commands

  12. Measure statistical release timeliness and punctuality against an advance release calendar

    baltor_statistical_release_timeliness

    Measure statistical release timeliness and punctuality against an advance release calendar: lag from the end of the reference period, delay against the pre-announced date, announcement notice and declared maximum lags, per dataset and overall.

    Command
    python3 -B scripts/tool.py < examples/example.input.json
    Input fields
    audit_date, releases

    SkillMIT9 files, 56.4 KBreads files, runs commands

  13. Audit public records request timeliness against a statutory deadline

    baltor_records_request_timeliness

    Audit public records request timeliness against a declared statutory deadline in calendar or working days, with holidays, clock stops and extensions, reporting on-time, late and overdue open requests at an audit date.

    Command
    python3 -B scripts/tool.py < examples/example.input.json
    Input fields
    audit_date, deadline_rule, weekend_days, holidays, requests

    SkillMIT9 files, 51.4 KBreads files, runs commands

  14. Audit one stop-direction service window's departures for interior headway gaps

    baltor_transit_headway_audit

    Audit one stop-direction service window's departures for interior headway gaps, simultaneous departures and unobserved boundary periods using explicit service-day time semantics.

    Command
    python3 -B scripts/tool.py < examples/example.input.json
    Input fields
    service_date, clock_basis, window_start, window_end, headway_limit_seconds, observation_complete, departures

    SkillMIT9 files, 34.3 KBreads files, runs commands

Give your agent these components

Your harness downloads them through Baltor with Pro, $49 a month. Cancel any time from your account page.

Get started

More from Corner cases