Происходит следующее:
1. На клиенте формируется некий объект и через $http-сервис Angulaк шлётся на сервер:
// insert record in table
var jsonForServer = {
'date' : $scope.selectedCalendarEvent,
'typeDate': 'local',
'events' : $scope.userClickedEvents.fullListTitles
};
// save to server
$http.post('calendar/updatedate', { calendar_record: jsonForServer })
.success(function(response)
{
console.log(response);
});
Перед отправкой я убеждаюсь, что поле 'date' объекта jsonForServer получает значение
Mon Feb 10 2014 00:00:00 GMT+0200 от jquery-плагина, которое полностью меня устраивает.
2. На сервере action Yii получает уже другое - предыдущий день в 22.00. Вот такое мне показывает var_dump($dateToInsert) того, что пришло:
2014-02-09T22:00:00.000Z
Код, который получает запрос от Angular вот такой:
$calendar = json_decode(file_get_contents('php://input'));
$dateToInsert = $calendar->calendar_record->date;
Тут суть происходящего примерно ясна: на клиенте метка времени +2 часа, а на клиенте -2 часа предыдущего дня (причём всегда). Но то, что приходит на сервер, меня вообще не устраивает, так как в БД записывается нужная мне запись на день раньше, так что эту ситуацию реально хотелось бы пофиксить.