Comment en Convertir Entre Timezones
Convertir a date and time from one timezone to another, accounting for UTC offsets and DST.
问题
You avoir un time en one timezone et besoin le equivalent time en another timezone.
Prérequis
- Understanding of UTC and timezone offsets
- Knowledge of DST
Étapes
-
1. Parse the source time with its timezone
Identify the source timezone (e.g., America/New_York, Asia/Tokyo, UTC). Parse the date and time in that timezone. Do not assume the system's local timezone matches the source.
entrée2023-10-14 10:00 America/New_York输出parsed with timezone -
2. Convert to UTC first
Convert the source time to UTC as an intermediate step. This avoids directly computing offsets between two timezones, which is error-prone due to DST rules that differ by timezone and date. UTC is the universal pivot.
entrée10:00 EDT → UTC输出14:00 UTC -
3. Convert from UTC to the target timezone
Convert the UTC time to the target timezone, applying the target's UTC offset and DST rules for that specific date. Use the IANA timezone database (via a library) for accurate, up-to-date offsets and DST transitions.
entrée14:00 UTC → Asia/Tokyo输出23:00 JST
Résultat attendu
Le correct local time en le target timezone, accounting pour DST et offset differences.
Erreurs courantes
- Using fixed offsets instead of timezone names
- Fixed offsets (like UTC-5) do not account for DST. Always use IANA timezone names (America/New_York) with a timezone-aware library.
- System timezone assumed as source
- Explicitly specify the source timezone. The system's local timezone may differ, especially on servers.
Dépannage指引
- If the result is off by one hour, check for a DST transition on that date.
- Use the IANA timezone database, which is updated several times per year for rule changes.
Limites de sécurité
- Timezone conversion is a pure calculation with no security implications.