UTC and GMT Explained — What Is the Difference?
Learn the difference between UTC (Coordinated Universal Time) and GMT (Greenwich Mean Time), when to use each, and why UTC is the standard for computing.
Fundamentals
Detailed Explanation
UTC vs GMT: The Definitive Guide
UTC (Coordinated Universal Time) and GMT (Greenwich Mean Time) are often used interchangeably, but they are technically different.
Greenwich Mean Time (GMT)
GMT is a timezone based on the mean solar time at the Royal Observatory in Greenwich, London. It was established in 1884 at the International Meridian Conference as the world's time standard. GMT is defined by the rotation of the Earth relative to the Sun.
Coordinated Universal Time (UTC)
UTC is a time standard (not a timezone) maintained by the International Bureau of Weights and Measures (BIPM). It is based on International Atomic Time (TAI) with leap seconds added to keep it within 0.9 seconds of astronomical time (UT1).
Key Differences
| Aspect | GMT | UTC |
|---|---|---|
| Type | Timezone | Time standard |
| Basis | Earth's rotation | Atomic clocks |
| Precision | Varies with Earth's rotation | Constant (with leap seconds) |
| Official use | UK winter time | International standard |
The Name "UTC"
The abbreviation "UTC" is a compromise between the English "Coordinated Universal Time" (CUT) and the French "Temps Universel Coordonné" (TUC). Neither language's abbreviation was chosen to maintain neutrality.
Practical Difference
For most practical purposes, UTC and GMT are identical — both represent the time at 0 degrees longitude with no daylight saving adjustment. However:
- Use UTC in software, APIs, databases, and logging
- Use GMT only when referring to the UK timezone during winter (which is
Europe/Londonin the IANA database)
UTC in Programming
// JavaScript — always use UTC for storage and computation
const now = new Date();
console.log(now.toISOString()); // "2024-03-15T14:30:00.000Z"
console.log(now.getTime()); // 1710513000000 (ms since epoch)
// The "Z" in ISO 8601 stands for "Zulu time" which equals UTC
Why Epoch Is Based on UTC
The Unix epoch (January 1, 1970 00:00:00) is defined in UTC. This means Date.now() in JavaScript always returns milliseconds since the UTC epoch, regardless of the user's local timezone.
Use Case
Understanding the distinction between UTC and GMT is critical when designing systems that store, transmit, or display timestamps. Databases should store timestamps in UTC. APIs should accept and return UTC. User interfaces should convert from UTC to the user's local timezone for display. Logging systems should use UTC to ensure consistent ordering across distributed services in different timezones.