Ключевым моментом здесь является то, что ветерок НЕ относится к информации о времени и часовом поясе. Проблема в том, что даты автоматически сериализуются с помощью компонента времени, потому что в javascript все даты имеют компонент времени. Поэтому, даже если эта информация настроена на все нули, она все равно будет интерпретироваться на клиенте как дата с компонентом времени.
Вторая проблема заключается в том, что практически каждый браузер форматирует даты в соответствии с настройками часового пояса браузера.
Таким образом, проблема заключается либо в том, что часовой пояс сервера отличается от часового пояса клиента, либо дата сервера сериализуется без информации о часовом поясе (которая будет интерпретироваться ветром как дата UTC с нулевым смещением. т.е. это вряд ли соответствует вашему местному часовому поясу.) Это происходит в .NET с датами сервера, объявленными как DateTime, в отличие от DateTime2 или DateTimeOffset.
Чтобы исправить любой из них вы должны будете заменить DataType.parseDateFromServer Breeze, так что вы полностью игнорировать информацию о часовом поясе идет в
Что-то вроде:.
breeze.DataType.parseDateFromServer = function (source) {
source = stripTime(source); // you will need to write the stripTime method.
return new Date(Date.parse(source));
};
Если вы используете Moment.js, я думаю, что вы можете сделать следующее:
breeze.DataType.parseDateFromServer = function (source) {
var date = moment(source);
return date.toDate();
};