title: How can I get a human-readable timezone name in Python?
body: <p>In a Python project I'm working on, I'd like to be able to get a "human-readable" timezone name of the form <strong>America/New_York</strong>, corresponding to the system local timezone, to display to the user. Every piece of code I've seen that accesses timezone information only returns either a numeric offset (-0400) or a letter code (EDT) or sometimes both. Is there some Python library that can access this information, or if not that, convert the offset/letter code into a human-readable name? </p>
  
  <p>If there's more than one human-readable name corresponding to a particular timezone, either a list of the possible results or any one of them is fine, and if there is no human-readable name corresponding to the current time zone, I'll take either an exception or <code>None</code> or <code>[]</code> or whatever.</p>
  
  <hr>
  
  <p>A clarification: I don't remember exactly what I had in mind when I originally wrote this question, but I <em>think</em> what I really wanted was a way to turn a timezone into a human-readable name. I don't think this question was meant to focus on how to get the system local timezone specifically, but for the specific use case I had in mind, it just happened that the local timezone was the one I wanted the name for. I'm not editing the bit about the local timezone out of the question because there are answers focusing on both aspects.</p>