Это
1970-01-01 00:00:00+01
является отметкой времени ISO 8601 со смещением +1 часа и +1 означает восток от Гринвича.Смещения в этих
01-01-1970 00:00:00 UTC+01
1970-01-01 00:00:00 UTC+01
1970-01-01 00:00:00 XXX+01
1970-01-01 00:00:00 HAHA+01
1970-01-01 00:00:00 Pancakes+01
будут интерпретироваться как часовые пояса в стиле POSIX , где +1 означает запад Гринвича:
PostgreSQLбудет принимать спецификации часовых поясов в стиле POSIX в форме STDoffset или STDoffsetDST, где STD - это аббревиатура зоны, offset - это числовое смещение в часах к западу от UTC
, и даже с предупреждением:
Следует опасаться, что функция часового пояса в стиле POSIX может привести к молчаливому принятию фиктивного ввода, поскольку нет проверки на правильность сокращений зон.Например, SET TIMEZONE TO FOOBAR0
будет работать, в результате чего система будет эффективно использовать довольно своеобразное сокращение для UTC.Другая проблема, о которой следует помнить, заключается в том, что в именах часовых поясов POSIX положительные смещения используются для местоположений к западу от Гринвича.В любом другом месте PostgreSQL следует соглашению ISO-8601, согласно которому положительные смещения часовых поясов находятся к востоку от Гринвича.
Обратите внимание на разницу между западом и востоком.