I'm not going to dive into a history lesson here.  This is about practical, usable information in today's modern world.  You can always go read more about GMT and UTC on Wikipedia.

  • What is the difference between UTC and GMT?
    Essentially, nothing.
  • Really?  There is no difference?
    Technically, UTC is defined precisely (based on TAI + leap seconds), while GMT is not defined with such precision.
  • So, GMT doesn't have leap seconds?
    That's not what I said, and that's a common misconception.  Both UTC and GMT have leap seconds.
  • Well then, why would I use one over the other?
    Most of the time, you should use UTC.  However, if you're referring to the time zone segment that is used in the United Kingdom during the winter months, then use GMT.   Just like US Eastern Time uses EST in the winter and EDT in the summer, the UK uses GMT in the winter and BST in the summer.  (BST = British Summer Time)
  • Are there any other contexts where it is appropriate to use GMT instead of UTC?
    Certain specifications, like RFC 822/1123 allow for use of GMT.  You'll see that often in HTTP headers, and sometimes in JavaScript (though it is preferred to use ISO-8601 / RFC 3339 these days).
  • What about in non-computing contexts?  I hear GMT used on the radio all the time!
    You were probably listening to the BBC.  In general, the British tend to use GMT even in contexts where UTC would be more appropriate.  There's nothing wrong with that.  It's likely a matter of pride and tradition. It's a lot like sticking with imperial units of measure while those around you are on the metric system.  Though in this case, the units are interchangeable.
  • So when I see a time zone with an offset of GMT+2, that's wrong?
    Yes. Well, at least I think so.  People will probably understand you, but it's more correct to state it as UTC+02:00. And now, you know.