-
Start with the time the person actually chose. A spreadsheet cell containing
09:00is incomplete: it needs a date and an intended publishing timezone, such asEurope/Paris. Keep that timezone with the post even after converting the time for other tools. Otherwise, a spreadsheet export can turn a local publishing time into an unlabeled value that the next tool interprets differently. -
Convert that date and local time to a UTC timestamp before handing it to the scheduler. Store both values: the UTC timestamp is the canonical instant to enqueue, while the named timezone explains what the author intended. Avoid storing only a fixed offset, because the offset changes with daylight saving time.
-
Check dates around the transition before enqueueing. For example, 09:00 in Paris on October 20, 2026, is 07:00 UTC; 09:00 in Paris on October 27 is 08:00 UTC. Both posts should still display as 09:00 locally. A time inside the clock-change hour needs an explicit decision: it may occur twice in autumn or not exist in spring. Flag those rows rather than guessing.
-
Compare the scheduler’s preview and the platform’s displayed publish time against the intended local time, not just against each other. Tools may label or convert times differently. Log the spreadsheet value, timezone, UTC timestamp, and displayed time for any mismatch; that gives you a specific conversion step to fix.
How do you keep the intended local time consistent when a post moves between your spreadsheet, scheduler, and platform?