# CSV Dates and Timezones: Keep Reporting Days from Shifting

Authored ToolFlowKit practice material. These records are teaching examples, not customer data, current vendor offers, or measured software results.

## What belongs in a date-normalization record?

The rows illustrate three different data contracts. A date-only field must not become the previous day because a formatter treated it as UTC midnight. For the timestamp row, retain the original instant and named zone with the display value. For the ambiguous slash date, ask the source owner rather than choosing the format that happens to parse.

| Source value | Known meaning | Normalized result |
| --- | --- | --- |
| 2026-10-20 | Calendar date only | 2026-10-20; do not shift by timezone |
| 2026-10-20T00:30:00Z | UTC instant | 2026-10-19 17:30 in America/Los_Angeles |
| 03/04/2026 | Locale not supplied | Hold for month/day convention |

## A day and an instant need different treatment

A fixed adjustment can appear to repair one row and break another when the source convention or seasonal offset differs. Diagnose the meaning and conversion step that produced the discrepancy before changing data.

| Source | Meaning | Review action |
| --- | --- | --- |
| 2026-10-20 | Calendar renewal day | Keep the calendar day without a timezone conversion. |
| 2026-10-20T01:00:00Z | An event instant in UTC | Assign to a reporting day after conversion to the selected timezone. |
| 04/05/2026 | Source convention unknown | Ask whether day or month comes first before parsing. |

Guide: https://toolflowkit.com/guides/csv-dates-and-timezones

License: CC0 1.0.
