의견을 검토 한 후 문제가 무엇인지, 내가 무엇을하려고하는지 정확하게 명확하게하기 위해 의견을 명확히하기로 결정했습니다.JSON 날짜를 UTC 형식으로 변환하는 방법
범위의 Orders
모델에 바인딩 된 데이터 인 앵귤러 부트 스트랩 양식을 사용하려고 시도 중입니다.이 개체를 x-www-urlencoded
형식으로 변환하고자합니다. $http.post(..)
메서드를 전달할 수 있도록 OrderRef=101121&OrderDate=2015-02-02T17:40:00.111Z&Address=140%20Acacia%20Street
입니다.
인터넷에서 Order
개체를 x-www-urlencoded
형식으로 변환 할 수있는 예를 발견했습니다. 거의 작동하지만 개체의 날짜 속성은 UTC로 포맷되지 않습니다.
모든 날짜가 UTC 형식 날짜로 전달되고 POST
이 오류로 인해 실패 할 것으로 예상되는 RESTful API가 있습니다.
내 개체 예를 들어 다음과 같은 코드를 사용하여 변환 할 때 :
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)
을 얻고있다.
변환 된 개체를 RESTful API로 보내면 해당 날짜 형식을 이해할 수 없기 때문에 오류가 발생합니다.
속성이 Date
인 객체를 UTC 형식으로 올바르게 변환하는 JavaScript 기능이 내장되어 있습니까?
이것은 OrderDate
속성에 바인딩하려고하는 부트 스트랩 UI <input>
요소입니다.
속성에 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>
저는 AngularJS v1.3.9 및 jQuery 2.1.3과 함께 Twitter Bootstrap v3.3.2를 사용하고 있습니다.
여기서 JSON이 보이지 않으며 "JSON 날짜"가 의미하는 바를 모르겠습니다. 날짜의 출력 형식을 제어하려면 Date 객체에서 사용할 수있는 다양한 메서드를 사용합니다. 당신의 예제는 또한 당신이 날짜를 안다면 (이 경우'02/02/2015') 왜 당신이 원하는 형식으로 직접'OrderDate'에 쓰지 않는가하는 점에서 사소한 것처럼 보인다. –
json에는 날짜가 없습니다. json은 자바 스크립트 데이터 구조의 텍스트 인코딩입니다. json에서 UTC 날짜를 원하면 인코딩 할 데이터 구조가 UTC 형식의 문자열인지 확인해야합니다. –
당신은 당신의 질문을 잘못 말하고 있습니다. 그러나 당신이 무엇을하려고 하는지를 이해한다면'date.toUTCString()'[https : //developer.mozilla]와 같은 것을 찾고 있습니다. –