Skip to content

Main content

Time Zone Transition Local Fold Span

Supplied synthetic civil-second offset observations only, no IANA database, DST rule inference or leap seconds; derive a single transition’s local fold for a negative jump as a half-open interval; other jump signs return null.

Loading tool…

Description

Derive a single transition’s local fold for a negative jump as a half-open interval; other jump signs return null.

An offset maps a supplied UTC coordinate to local civil coordinates by local = UTC + offset. Half-open spans include their start and exclude their end. A forward offset jump can leave local coordinates uncovered; a backward jump can give several UTC interpretations of one local value. These tools use explicit synthetic civil-second observations rather than a named-zone database.

Derive a single transition’s local fold for a negative jump as a half-open interval; other jump signs return null.

When to use this tool

Use this tool to derive a single transition’s local fold for a negative jump as a half-open interval; other jump signs return null.

How to use the tool and how it works

  1. Enter at, before, after using the definitions below.
  2. Run the operation. Resolve input-format errors before interpreting an output.
  3. Read result.span, using the stated boundary, ordering, sign and absence conventions.

When after<before return the half-open local interval [at+after,at+before). Otherwise return span=null.1

Input fieldMeaning and unitsAccepted input
atUTC transition instant in seconds within ±10¹².Finite numeric value satisfying the stated comparisons.
beforeOffset immediately before the transition, in seconds within ±86,400.Finite numeric value satisfying the stated comparisons.
afterOffset effective at and after the transition, in seconds within ±86,400.Finite numeric value satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.spanHalf-open local gap/fold {start,end} in seconds, or null when that offset-change direction does not apply.
json
{
  "input": {
    "at": 10,
    "before": 2,
    "after": 0
  },
  "output": {
    "result": {
      "span": {
        "start": 10,
        "end": 12
      }
    }
  }
}

Limitations and assumptions

  • The repeated local interval comes from one supplied backward-offset transition; other span observations can create additional candidates.
  • Span/transition coordinates are finite seconds within ±10¹² and offsets within ±86,400 seconds. Spans require start<end. No IANA database, calendar parsing, daylight-saving inference or leap seconds are included.
  • Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
  • Ordinary numeric outputs must be finite and within safe-integer magnitude. Exact large lengths/counts use decimal strings. Original record indexes and code-unit positions are zero-based; span ends are exclusive unless stated otherwise.

Alternative or Complementary methods

Keep all timestamps on one origin and in seconds, and retain gaps or competing observations. Use a maintained time-zone library when real dates, named zones or historical rules are required.

References

  1. Tool behavior and example: Time Zone Transition Local Fold Span — tool.io

Similar or alternative tools

  • Time Zone Transition Local Gap Span

    Derive a single transition’s local gap for a positive jump as a half-open interval; other jump signs return null.

  • Time Zone UTC Span Local Split

    Intersect UTC windows with every supplied offset span and map each piece independently into local coordinates; gaps/overlaps are not concealed.