2012-07-04 3 views
0

Я пытаюсь обновить временную метку времени (час и минуты) новыми значениями, но по некоторым причинам она возвращается с -19 часов, почему? Я делаю это неправильно?Изменение значения времени в timestamp

$hour_created = $_REQUEST['hour_created'];  // ex.: 13 
$minute_created = $_REQUEST['minute_created']; // ex.: 00 

$updated_timestamp = strtotime("$hour_created:$minute_created", $_REQUEST['_timestamp']); 
+0

Что такое текущее время вашего сервера ? и проверьте, связано ли это с часовым поясом. http://php.net/manual/en/function.date-default-timezone-set.php – Mustafa

ответ

0

С помощью коллеги, я в конечном итоге делает это:

$day_value = 60 * 60 * 24; 
$offset = intval($_REQUEST['_offset']) * 60; 

// Article creation date 
$time_created = ($_REQUEST['hour_created'] * 60 * 60) + ($_REQUEST['minute_created'] * 60); 
$date_created = substr($_REQUEST['_timestamp'], 0, -3) - $offset; 
$date_created = floor($date_created/$day_value) * $day_value + $time_created + $offset; 

Смещение является результатом яваскрипта функции: new Date().getTimezoneOffset(); Отметка является результатом $.datepicker({altFormat: '@'});

1

Использование:

$updated_timestamp = strtotime(date("d/m/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created"); 

И если это не работает, ваш сервер может потребовать обратной даты заказа (United States):

$updated_timestamp = strtotime(date("m/d/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created"); 

Если вы хотите заменить часы и минут и оставить дату.

EDIT: Извините, моя ошибка исправлена.

Смежные вопросы