Developer tools · Unix timestamp converter
How daylight saving transitions change what the local time column shows
· How it works
timestamps time-zones debugging
Twice a year the local clock jumps, and epoch values around the transition produce local times that repeat or never exist. This post explains the mechanics so converter output around a DST change makes sense.
The event logged at 01:30 twice — two epochs an hour apart that both display the same local wall-clock time
Two distinct epochs can format to the same wall-clock label during a backward offset change. The workbook fixed that label at 01:30, but the repository does not establish a universal transition hour. The repeat interval belongs to the browser zone’s applicable rules, not to Unix time itself.
When duplicates appear, keep the epoch, ISO row and displayed offset together. Sorting only a local `HH:mm` column can reverse or collapse events. ToolAcre’s UTC rendering gives each instant a unique chronological anchor even when the familiar local face revisits an earlier range.
Repeated local readings are possible; verify the actual transition in your browser rather than assuming 01:30
The epoch count progresses through a transition without changing its unit or origin. What changes is the offset Intl applies when formatting the Date in the local zone. Two consecutive seconds remain consecutive in UTC even if their local labels appear to jump farther or backward.
This distinction prevents destructive “corrections.” Subtracting an hour from stored epochs because a dashboard repeats an hour changes valid events. Fix the formatting, grouping or ambiguity in the displayed label. Preserve the machine instant unless evidence shows the source clock itself was wrong.
A useful invariant survives every offset change: subtracting the two epoch values gives their true elapsed duration. Subtracting formatted wall times may not, because their offsets can differ.
A transition changes the applicable offset while the epoch remains continuous
During a forward offset change, a range of local wall labels may not be produced. Its width and position cannot be safely generalized from this implementation; ToolAcre asks Intl and reports the result. It contains no hard-coded assumption that every shift is one hour or occurs at 02:00.
A converter starts from an existing instant, so it simply shows the applicable local reading on either side. Scheduling a nonexistent local input is a different operation. If a form must resolve that situation, its product policy must decide whether to reject, move or reinterpret the requested wall time.
A forward transition can skip local readings; the exact interval depends on verified zone rules
A backward change makes another range occur more than once under different offsets. The local text becomes insufficient unless it includes the offset or an associated epoch. ToolAcre requests `shortOffset`, giving the reader a way to distinguish the two renderings when the platform supplies that format.
Database deduplication keyed on local date and minute can therefore discard a real record. Key events with stable identifiers and store their instants. Local calendar fields are useful query projections, but they should not replace the value that distinguishes the first occurrence from the second.
A backward transition can repeat local readings; the exact interval depends on verified zone rules
Use a transition documented for the zone configured on your test device, then choose two epochs one hour apart around it. Convert each explicitly as seconds and record ISO, local output and offset. If local labels advance by a different amount than UTC, the changing offset accounts for the difference.
This method intentionally does not hard-code a date or city. The task warns against asserting named-zone transition rules without evidence, and the repository has no fixed zone fixture. Your observed pair becomes a reproducible worked example for that environment while the article remains truthful for readers elsewhere.
Worked example: derive a transition pair from the converter instead of publishing an unverified zone rule
Some configured zones may show no seasonal change across the tested year; others may differ between historical dates. The converter can display those outcomes but does not explain or version the rules. A fixed offset calculation cannot discover change points because it assumes the very constancy being tested.
For regression testing, pin an environment and record its expected platform data rather than treating one laptop as universal. For support, ask for zone name, instant and rendered offset. Saying only “DST is wrong” omits the evidence needed to reproduce what the browser actually formatted.
What this does not cover — scheduling future local times across a DST change, which requires zone rules rather than a fixed offset
This panel converts an instant already known. It does not calculate a recurring future appointment such as “every Monday at 09:00” through offset changes. That job begins with a named zone and a policy for gaps and overlaps, neither of which is represented by one fixed epoch.
Conflating the two workflows causes a subtle bug: adding seven times 86,400 seconds preserves elapsed duration, not necessarily the same future wall-clock label. Use scheduling logic built for civil-time recurrence. Use the epoch converter afterward to inspect particular resolved occurrences.
A scheduler must additionally retain whether the user meant the earlier or later occurrence during an overlap. That choice has no representation in a lone fixed-offset clock string.
Takeaway: trust the epoch, doubt the wall clock — and how the Unix timestamp converter's UTC reading anchors the local one
Trust the epoch for ordering and treat the wall clock as a context-dependent rendering. ToolAcre holds one Date constant while Intl supplies UTC and local forms. A surprising jump or repetition can therefore be examined without changing the underlying count.
The safe debugging bundle is raw value, unit, ISO output, local zone label and offset. With those fields, a transition is visible as a formatting-rule change. Without them, repeated clock text invites guesses about duplicate requests, delayed queues or broken server clocks that the data does not support.
This evidence bundle also makes bug reports portable. Another engineer can reproduce the UTC instant even when their own local zone and wall-clock rendering are completely different.