개발관련/other

Microsoft JSON 날짜 형식을 지정하는 방법

Rateye 2021. 10. 7. 10:37
728x90
반응형
질문 : Microsoft JSON 날짜 형식은 어떻게 지정합니까?

나는 jQuery로 Ajax 에서 첫 번째 균열을 가지고있다. 내 페이지에 데이터를 가져오고 있지만 날짜 데이터 유형에 대해 반환되는 JSON 데이터에 문제가 있습니다. 기본적으로 다음과 같은 문자열이 반환됩니다.

/Date(1224043200000)/

JSON을 처음 접하는 사람-짧은 날짜 형식으로 어떻게 포맷합니까? 이것은 jQuery 코드의 어딘가에서 처리되어야합니까? 성공하지 않고 $.datepicker.formatDate() 를 사용하여 jQuery.UI.datepicker 플러그인을 시도했습니다.

참고 : 여기에 답변 조합을 사용하여 생각 해낸 해결책은 다음과 같습니다.

function getMismatch(id) {
  $.getJSON("Main.aspx?Callback=GetMismatch",
    { MismatchId: id },

    function (result) {
      $("#AuthMerchId").text(result.AuthorizationMerchantId);
      $("#SttlMerchId").text(result.SettlementMerchantId);
      $("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
      $("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
      $("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
      $("#LastUpdatedBy").text(result.LastUpdateNt);
      $("#ProcessIn").text(result.ProcessIn);
    }
  );

  return false;
}

function formatJSONDate(jsonDate) {
  var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
  return newDate;
}

이 솔루션은 콜백 메서드에서 내 개체를 가져오고 날짜 형식 라이브러리를 사용하여 페이지에 날짜를 올바르게 표시했습니다.

답변

eval() 은 필요하지 않습니다. 이것은 잘 작동합니다.

var date = new Date(parseInt(jsonDate.substr(6)));

substr() 함수는 /Date( 부분을 parseInt() 함수는 정수를 가져와 끝에 )/ 결과 번호는 Date 생성자에 전달됩니다.


parseInt 대한 두 번째 인수)를 생략했습니다. 아래 내 의견을 참조하십시오.

또한 Rory의 의견에 전적으로 동의합니다. ISO-8601 날짜가이 이전 형식보다 선호되므로 일반적으로이 형식을 새로운 개발에 사용해서는 안됩니다.

ISO-8601 형식의 JSON 날짜의 경우 문자열을 Date 생성자에 전달하면됩니다.

var date = new Date(jsonDate); //no ugly parsing needed; full timezone support
출처 : https://stackoverflow.com/questions/206384/how-do-i-format-a-microsoft-json-date
728x90
반응형