Core Technology
IANA Time Zone Database
City Clock uses the Internet Assigned Numbers Authority (IANA) time zone database, also known as the tz database or Olson database. This is the same authoritative source used by operating systems, programming languages, and major software worldwide.
The database contains historical and current time zone information for over 400 regions, including all daylight saving time transitions, historical changes, and political adjustments to time zones.
Example: America/New_York
Includes: EST/EDT transitions
UTC Offset: -5:00 / -4:00
Real-Time Synchronization
All time displays are calculated in real-time based on your device's system clock and the IANA database. Updates occur every second to ensure accuracy.
The system uses JavaScript's Intl.DateTimeFormat API and date-fns-tz library for precise time zone conversions, handling edge cases like DST transitions automatically.
Time Calculation Process
Step-by-Step Time Conversion
1Source Time Capture
When you select a city and time, the system captures your local device time and the selected time zone identifier. For example, if you select "New York" at "2:00 PM", the system records this as "14:00 in America/New_York time zone".
2UTC Conversion
The selected time is converted to Coordinated Universal Time (UTC), which serves as the universal reference point. This conversion accounts for the current UTC offset of the source time zone, including any active daylight saving time adjustments.
New York 2:00 PM EST (UTC-5)
→ UTC 7:00 PM (19:00)
3Target Time Zone Calculation
Using the UTC time as reference, the system calculates what time it would be in any other time zone. This involves applying the target time zone's UTC offset and checking whether daylight saving time is active at that specific date and time.
UTC 7:00 PM (19:00)
→ Tokyo (UTC+9): 4:00 AM next day
→ London (UTC+0): 7:00 PM same day
→ Los Angeles (UTC-8): 11:00 AM same day
4Display Formatting
Finally, the calculated time is formatted according to your preference (12-hour or 24-hour format) and displayed with additional context like the date, day of week, and time zone abbreviation.
Daylight Saving Time Handling
Automatic DST Detection
Daylight Saving Time creates one of the most complex challenges in time zone management. Different regions observe DST at different times, some don't observe it at all, and the rules change based on political decisions.
Historical Data
The IANA database contains complete historical records of DST transitions. This means City Clock can accurately calculate times for past dates, even accounting for historical DST rule changes.
Future Projections
For future dates, the system uses current DST rules to project when transitions will occur. Regular database updates ensure accuracy as governments announce rule changes.
Transition Handling
During DST transitions, some times are ambiguous (during "fall back") or don't exist (during "spring forward"). City Clock handles these edge cases by following IANA's standard disambiguation rules.
Example: Spring Forward
On March 10, 2024 at 2:00 AM in New York:
1:59 AM EST → 3:00 AM EDT
(2:00 AM - 2:59 AM don't exist)
City Clock automatically adjusts any time set during this gap to 3:00 AM EDT
Data Storage & Privacy
Local Storage
Your saved cities, preferences, and settings are stored locally in your browser using localStorage. This means:
- •No server-side data storage
- •Data stays on your device
- •Works offline for saved cities
- •Settings persist between sessions
No Account Required
City Clock operates entirely in your browser without requiring account creation or login:
- •Instant access, no registration
- •No personal information collected
- •Privacy-first design
- •Complete control over your data
Search & Performance
City Search Algorithm
With over 947 cities in the database, efficient search is critical. City Clock uses a multi-stage search algorithm:
1. Prefix Matching
Cities that start with your search term are prioritized. Searching "New" immediately shows New York, New Delhi, Newcastle.
2. Substring Matching
Searches within city names and countries. Searching "angeles" finds Los Angeles.
3. Case Insensitive
All searches work regardless of capitalization. "london", "LONDON", and "LoNdOn" all work.
4. Performance Optimization
Results are limited to the top 8 matches and rendered instantly. The entire search operation completes in under 1ms on modern devices.
Technical Specifications
Database
- • 947+ cities worldwide
- • IANA tz database 2024a
- • Historical data since 1970
- • Regular updates
Performance
- • 1-second update interval
- • <1ms search response
- • Client-side processing
- • Offline capability
Technology
- • React + TypeScript
- • date-fns-tz library
- • localStorage API
- • Responsive design