Хорошо ли знает PostgreSQL о переходе на летнее время? - PullRequest
0 голосов
/ 30 ноября 2018

Сравнивая расчет временных меток, мы различаем разницу, основанную на том, когда это произошло:

hj=# set time zone 'Europe/Berlin';
SET
hj=# select '1991-11-30 07:25:38.235095+01', '1991-11-30 07:25:38.235095+01'::timestamp with time zone - '2 months'::interval;
           ?column?            |           ?column?            
-------------------------------+-------------------------------
 1991-11-30 07:25:38.235095+01 | 1991-09-30 07:25:38.235095+01

hj=# select '2010-11-30 07:25:38.235095+01', '2010-11-30 07:25:38.235095+01'::timestamp with time zone - '2 months'::interval;
           ?column?            |           ?column?            
-------------------------------+-------------------------------
 2010-11-30 07:25:38.235095+01 | 2010-09-30 07:25:38.235095+02

На самом деле, летнее время было введено в 1980 году и до сих пор не изменилось.Таким образом, в обоих случаях - будь то 2010 или 1991 год - в конце результата должно отображаться «+02», потому что в сентябре переход на летнее время был эффективным.

...