title: How can I have BST datetime objects?
body: <p>I am trying to comprare many aware datetime objects. I found <code>pytz</code> but haven't found the BST timezone or how to create custom timezones so I can have UTC+1 during british summer time. Anyways, I figured out a workaround that works but I am pretty sure there is another, better, way so I am sharing it below.</p>
  
  <p>Based on <a href="https://www.timeanddate.com/time/change/uk/london?year=2019" rel="nofollow noreferrer">timeanddate.com</a> for London which is the area that interests me:</p>
  
  <blockquote>
    <p>Sunday, 31 March 2019, 01:00:00 clocks were turned forward 1 hour to
    Sunday, 31 March 2019, 02:00:00 local daylight time instead.</p>
  </blockquote>
  
  <p>So tz_1 and tz_2 should be UTC, whereas tz_3 should be BST.</p>
  
  <pre><code>import datetime
  import pytz
  
  tz_1 = pytz.timezone('Europe/London').localize(datetime.datetime(2019, 3, 30, 9, 15)).tzinfo
  tz_2 = pytz.timezone('Europe/London').localize(datetime.datetime(2019, 3, 31, 9, 15)).tzinfo
  tz_3 = pytz.timezone('Europe/London').localize(datetime.datetime(2019, 4, 1, 9, 15)).tzinfo
  
  date1 = datetime.datetime(2019 , 4, 25, tzinfo = tz_1)
  date2 = datetime.datetime(2019 , 4, 25, tzinfo = tz_2)
  date3 = datetime.datetime(2019 , 4, 25, tzinfo = tz_3)
  
  utc_date = datetime.datetime(2019, 4, 25, tzinfo = pytz.UTC)
  
  print ("Date 1:   ", date1, date1.tzinfo) # Timezone returns Europe/London
  print ("Date 2:   ", date1, date2.tzinfo) # Timezone returns Europe/London
  print ("Date 3:   ", date1, date3.tzinfo) # Timezone returns Europe/London
  print ("UTC date: ", utc_date, utc_date.tzinfo) # Timezone returns UTC
  
  print (date1 &gt; date2) # returns True
  print (date2 &gt; date3) # returns False
  print (date3 &gt; date1) # returns False
  </code></pre>
  
  <p>The comparisons are correct but the visualization is not that good since all of them return "Europe/London" as timezone. So it is hard for me to understand if a datetime object is during the BST time of London or the UTC time of London.</p>
  
  <p>Also you are going to notice that I am forcing a timezone to the date 2019-04-25. The timezone should have been BST but I am also forcing it a UTC timezone. I am going to force timezones to objects during my script since I am reading them from .csvs and they are read as strings and not as datetime objects.</p>
  
  <p>So my final question, how can I have datetime objects with BST?</p>