удалить 5 часов от времени - PullRequest
       10

удалить 5 часов от времени

2 голосов
/ 20 апреля 2009

Я использую strtotime, чтобы создать временную метку из некоторого веревочного XML, но часовой пояс неверен.

Как я могу удалить 5 часов от времени?

Ответы [ 2 ]

9 голосов
/ 20 апреля 2009

Если вы знаете часовой пояс, вы можете установить его с помощью date_default_timezone_set()

Когда это установлено, вы можете просто сделать это в strtotime (), как вы знаете.

strtotime("-5 hours", $time);
3 голосов
/ 20 апреля 2009

Вы, вероятно, хотите что-то вроде:

date('Y-m-d H:i:s', time() - 18000);

Форматирует строку как дату и время, для текущего времени в секундах с начала эпохи - 18000 секунд (пять часов). Вы можете отрегулировать число, которое вычитаете, чтобы отрегулировать, сколько часов вы настраиваете. Может быть более понятно, если вы напишите 18000 как (60 * 60 * 5).

strtotime () может иметь неожиданные последствия для строк, где порядок отличается от США. Европейская запись (01/02/2009) будет читаться как 2 января, где это должно быть 1 февраля. Это единственная проблема, которую я вижу в решении olafur, за исключением того, что оно твердое, но оно или то и другое будет работать.

...