Timezone Converter
Convert a date and time from any source timezone to any destination timezone instantly.
The DST spring-forward hour that makes this tool return an error
Most timezone converters silently pick an offset and produce an output regardless of what you enter. This one doesn't. When DST causes clocks to "spring forward" — say, from 2:00 AM directly to 3:00 AM — the hour from 2:00 AM to 2:59 AM simply does not exist in that timezone on that date. If you enter a time in that gap (2:30 AM Eastern on a March spring-forward Sunday, for example), the tool returns an explicit error: "The specified time is invalid in the source timezone (may fall during a DST gap)." We traced this directly to the code: TimeZoneInfo.ConvertTimeToUtc throws ArgumentException for nonexistent gap times, and the conversion method catches it specifically rather than silently resolving it to a nearby valid time. That's the right behavior — silently converting a gap time to either edge of the gap is a common source of bugs in scheduling and notification systems.
The fall-back hour (when clocks repeat) is a different case: an ambiguous time (e.g., 1:30 AM occurring twice during the fall-back transition) doesn't throw — .NET resolves it to the standard-time interpretation without indicating that it chose, and this tool shows no warning. If you're converting a time during a fall-back transition and precision matters, add a note about which occurrence of that hour you mean.
UTC offsets and DST
Every timezone is defined as an offset from Coordinated Universal Time (UTC). For example, Eastern Time (US) is UTC-5 in winter and UTC-4 in summer when DST is in effect. When you convert a time, the tool looks up both the source and destination timezone rules for that specific date to determine the correct offset — not just the standard offset.
Common use cases
- Scheduling international meetings — confirm what time 9 AM London is in New York, Tokyo, and Sydney simultaneously
- Interpreting API timestamps — most APIs return UTC timestamps; convert them to your local timezone for display
- Flight and travel planning — understand what time you land in a different timezone relative to your departure
- Debugging distributed system logs — correlate events from servers in different regions by converting to a common timezone
- Live event timing — announce a webinar, product launch, or game release in multiple timezones
UTC is the universal reference
When in doubt, use UTC. All serious logging, databases, and APIs store timestamps in UTC precisely because it has no DST rules and no ambiguity. Convert to local time only at the presentation layer — never store local times in databases unless you also store the timezone identifier alongside them.
If you're doing this in C# and need both: DateTimeOffset.UtcNow gives a UTC-anchored value. TimeZoneInfo.ConvertTimeFromUtc(dateTimeUtc, targetTz) converts it to any timezone for display. Store the DateTimeOffset in a datetimeoffset column in SQL Server (or a UTC datetime2) and convert on the way out to the user's preferred timezone — that pattern avoids every class of DST storage bug.
How offset abbreviations can mislead you
Timezone abbreviations like EST, PST, or IST are not unique and are not part of any official standard. EST can mean US Eastern Standard Time (UTC-5) or Australian Eastern Standard Time (UTC+11). IST can mean India Standard Time (UTC+5:30), Ireland Standard Time (UTC+0/+1), or Israel Standard Time (UTC+2/+3). This tool avoids abbreviations entirely — it shows the full timezone display name from the system database and always shows the explicit UTC offset for the converted time, so there's no ambiguity about which offset was actually applied.
How to use this tool
- Enter a date in YYYY-MM-DD format and a time in HH:MM (24-hour).
- Select the source timezone from the dropdown.
- Select the destination timezone.
- Click Convert to see the equivalent time, the UTC value, and whether the date changes.
- Use the Swap button to reverse source and destination quickly.
- Click Now to pre-fill the current date and time.
Enter a date and time then click Convert.