Частичный ответ, похоже, это делает работу:
SELECT PARSE_TIMESTAMP(
'%b %d, %Y, %H:%M:%S %p GMT%z'
, 'Oct 7, 2019, 11:28:26 AM GMT+02')
# 2019-10-07 09:28:26 UTC
Однако, я могу заставить его работать, только если я выражаю часовой пояс как GMT+02
. GMT+2
не удается, и, возможно, кто-то другой может помочь нам правильно разобрать этот.
Тогда, если вы хотите отформатировать дату как требуется:
SELECT FORMAT_TIMESTAMP(
'%Y-%m-%d, %H:%M:%S %p GMT%z'
, x
, '+2')
FROM (
SELECT PARSE_TIMESTAMP(
'%b %d, %Y, %H:%M:%S %p GMT%z'
, 'Oct 7, 2019, 11:28:26 AM GMT+02'
) x
)
# 2019-10-07, 11:28:26 AM GMT+0200
Обратите внимание, что исходный часовой пояс "2 "теряется при попадании в метку времени.