После рассмотрения комментариев я решил уточнить свой вопрос, чтобы сделать более понятным вопрос о том, в чем проблема и что я пытаюсь сделать.Как преобразовать дату JSON в формат UTC
Я пытаюсь взять форму Углового бутстрапа, которая привязана к модели Orders
, и мы хотим, чтобы этот объект был преобразован в x-www-urlencoded
. OrderRef=101121&OrderDate=2015-02-02T17:40:00.111Z&Address=140%20Acacia%20Street
, так что я могу передать ему метод $http.post(..)
.
Я нашел пример в Интернете, где я мог бы преобразовать свой объект Order
в форму x-www-urlencoded
. Это почти работает, но свойства даты в объекте не форматируются как UTC.
У меня есть API RESTful, который ожидает, что все даты будут переданы как даты, отформатированные в формате UTC, и ошибка POST
с ошибкой.
Когда я конвертировать мой объект, используя следующий код в качестве примера:
var order = {
OrderRef: '101121',
OrderDate: new Date('02/02/2015'),
Address: '140 Acacia Street'
}
var data = jQuery.param(order);
Я получаю Mon+Mar+02+2015+00%3A00%3A00+GMT%2B0000+(GMT+Standard+Time)
для свойства OrderDate, который не то, что я хотел.
Если я пересылаю этот преобразованный объект в свой RESTful API, это ошибки, потому что он не понимает этот формат даты.
Есть ли встроенная функция JavaScript, которая правильно преобразует объект с Date
свойствами в формат UTC?
Это пользовательский интерфейс Bootstrap <input>
Элемент, который я пытаюсь связать с OrderDate
.
Он корректно отображает дату только при использовании new Date('02/02/2015')
. Это не сработает, если я сделал это `OrderDate: '02/02/2015 ', поскольку элемент ввода вообще не покажет дату.
<div class="form-group">
<label for="inputOrderRef3" class="col-sm-2 control-label">Order Ref</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputOrderRef3" placeholder="Order Ref" ng-model="order.OrderRef" maxlength="6" required>
</div>
</div>
Я использую Twitter Bootstrap v3.3.2 с AngularJS v1.3.9 и JQuery 2.1.3.
Я не вижу здесь никакого JSON и не знаю, что вы подразумеваете под «датами JSON». Если вы хотите контролировать выходной формат даты, используйте различные методы, доступные для объекта Date. Ваш пример также кажется тривиальным: если вы знаете дату (в данном случае '02/02/2015'), почему бы просто не записать ее в' OrderDate' прямо в нужном вам формате? –
У json нет дат. json - это просто текстовое кодирование структуры данных javascript. если вам нужна дата UTC в вашем json, тогда вам нужно будет убедиться, что всякая структура данных, которую вы кодируете, имеет строку в формате UTC. –
Вы неправильно формулируете свой вопрос, но если я понимаю, что вы пытаетесь сделать, вы ищете нечто вроде 'date.toUTCString()' [ссылка здесь] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString) –