DateTime을 SignalR.에서 직렬화 된 DateTime
-
12-11-2019 - |
문제
매우 멋진 SignalR 라이브러리를 사용하여 ChangeDetail
유형의 객체를 보내는 방송 메시지가 있습니다.클라이언트 브라우저.보낸 객체에는 DateTime 속성이 포함됩니다.
var change = new ChangeDetail();
change.TimeOfChange = DateTime.Now();
.
클라이언트에 보낼 때 SignalR은 객체를 JSON으로 직렬화하는 것을 처리하지만, 객체를 검사 할 때 클라이언트 JavaScript 코드에서 다음과 같습니다.
console.log (change.TimeOfChange); --> "/Date(1327332563969)/"
.
JS Date 객체로 다시 얻는 방법은 무엇입니까?i 숫자와 그 숫자와 날짜를 얻으려면 정규식을 씁니다.하지만 그 숫자와의 날짜는 조금 불타는 것 같습니다 ...?
해결책
일반적으로 문자열에 다음 프로토 타입 확장을 추가했습니다.
String.prototype.toDate = function () {
"use strict";
var match = /\/Date\((\d{13})\)\//.exec(this);
return match === null ? null : new Date(parseInt(match[1], 10));
};
.
기본적으로 change.TimeOfChange.toDate()
를 사용하여 실제 날짜 객체를 되 찾을 수 있습니다
제휴하지 않습니다 StackOverflow