DateTime отформатирован как 2019-01-01 01:02:03
, возвращенный из базы данных MySQL.Я хотел бы преобразовать это в Europe/London
и выводить в формате:
2019-01-01 01:02:03 GMT (UTC +00:00)
Это также должно быть в состоянии обрабатывать BST DateTimes, такие как:
2019-07-01 01:02:03
UTC выдаст 2019-07-01 02:02:03 BST (UTC +01:00)
Я пытался посмотреть на этот вопрос и ответ , но не могу понять, как применить это преобразование локали к предоставленной строке DateTime, а не now
?
Это псевдокод, эквивалентный тому, что мне нужно, прости мой ужасный Perl ...
use DateTime;
my $my_utc_date_time = "2019-01-01 01:02:03";
# this needs to use $my_utc_date_time not now
my $start_date = DateTime->now->set_time_zone("Europe/London")->iso8601;
my $start_date_formatted = strftime("%Y-%m-%d %H:%M:%S %Z (UTC +00:00)", $start_date);