Time zones and UTC
core.chart expects BirthInput.instant as an unambiguous UTC timestamp (RFC 3339, e.g. 1990-05-15T14:30:00Z). Civil birth clocks are almost always recorded in local time with a time-zone and sometimes daylight saving offset.
Civil time → UTC
- Take the local birth date and time as written on the certificate or report.
- Determine the time zone rules valid at that date (zone id or historical offset tables — political changes matter for births before modern TZ databases).
- Subtract the offset to obtain UTC (or use a timezone-aware library).
- Pass the UTC instant to
calculateorcalculate_sidereal.
Getting step 2 wrong is a common source of 1-hour (DST) or multi-hour (wrong zone) chart errors — enough to change Ascendant sign in many cases. See birth-time-accuracy.
Julian day and ephemeris time
Internally, the stack converts UTC to Julian Day for VSOP evaluation (julian-day-ephemeris). Professional ephemerides often distinguish UT vs TT/TDB at sub-arcminute levels; VSOP-based hobby and chart software typically treat the supplied UTC as sufficient for natal work. See ephemeris-uncertainty for limits.
Latitude / longitude are separate
Time zone fixes when; latitude and longitude fix where on Earth (birth-input). Both are required for houses and angles.
References
- Coordinated Universal Time — Wikipedia
- Time zone — Wikipedia
- Daylight saving time — Wikipedia
See also data-quality, natal-chart.