Почему PHP назначает разные часовые пояса на определенные даты при расчете временных отметок без указанных часовых поясов? - PullRequest
0 голосов
/ 21 февраля 2019

Когда я хочу вычислить разницу в днях (на примере date1 и date2):

$date1 = '2019-03-27';
$date2 = '2019-04-01';

echo((strtotime($date2) - strtotime($date1)) / 86400);

Результат:

2

Однако сделать то же самое с:

$date1 = '2019-03-27';
$date2 = '2019-04-01';

echo((strtotime($date2) - strtotime($date1)) / 86400);

Возвращает:

4.9583333333333

Это можно исправить с помощью: date_default_timezone_set('UTC');.

Но почему PHP по умолчанию не использует одни и те же часовые пояса для определенных дат?

1 Ответ

0 голосов
/ 21 февраля 2019

Существует переход от зимнего времени к летнему времени в конце марта в вашем часовом поясе, поэтому один из дней составляет всего 23 часа, поэтому он не делится чисто на 86400 (24 часа).

...