Допущения: ввод представляет временную метку UTC, и вы хотите локализовать ее на Лондон время. Вы, вероятно, не хотите локализовать его по времени BST, поскольку BST - это изменение DST по Гринвичу, а фактическое местоположение, например Лондон, будет переключаться между BST и GMT в зависимости от времени года. Вы захотите установить модуль pytz
.
from datetime import datetime, timezone
import pytz
date = '2018-07-06T07:00:00.000'
utc_date = datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f').replace(tzinfo=timezone.utc)
london_date = utc_date.astimezone(pytz.timezone('Europe/London'))
datetime.datetime(2018, 7, 6, 8, 0, tzinfo=<DstTzInfo 'Europe/London' BST+1:00:00 DST>)
strptime
дает вам наивный datetime
объект (без информации о часовом поясе), .replace
дает вам осведомленный datetime
объект (с информацией о часовом поясе), который затем позволяет просто преобразовать это в другой часовой пояс.