Converting epoch time to a date in time zone in python
I have some timestamps stored in unix time and I need to extract the date in London at that time. My issue is that Python's datetime.date() function seems just to report the date component without taking the time zone component into account. For example, the following code gets the date at unix time 1565475300. This was at 2315 in UTC, but was actually 0015 the next day on the clocks of people in the time zone - so the date that returns in this instance for my use case should be 2019-08-11. Any suggestions how to do this? I've done a lot of searches but they mostly turn up answers to the opposite question (how to get to unix time from a human readable date).
from datetime import datetime
from dateutil.tz import gettz
tzLondon = gettz("Europe/London")
unixTime = 1565475300
pythonTime = datetime.fromtimestamp(unixTime, tz=tzLondon)
print(pythonTime.strftime('%Y-%m-%d %H:%M:%S %z'))
print(pythonTime.strftime('%Y-%m-%d %H:%M:%S'))
print(pythonTime.date())
>>> 2019-08-10 23:15:00 +0100
>>> 2019-08-10 23:15:00
>>> 2019-08-10
1565475300 this is 2019-08-10 22:15:00 in UTC
datetime.fromtimestamp(1565475300, tz=timezone.utc)
datetime.datetime(2019, 8, 10, 22, 15, tzinfo=datetime.timezone.utc)
so it is 23:15 in London time zone