JavaScript를 사용하여 두 시간의 차이를 계산하려고합니다. 그것은 단지 기본적인 수학이지만, 나는 JSON.stringify()
과 JSON.parse()
을 사용하는 동안 그 문제를 가지고있는 것 같습니다.JSON.stringify() 및 JSON.parse()를 사용할 때 Date() 관련 문제
JSON.stringify()
기능을 날짜에 적용하는 것이 궁금한 경우 로컬 저장소를 사용하여 클라이언트 측에 일부 데이터를 저장하고 클라이언트가 내 웹 사이트에 다시 접속할 때마다 사용하기 때문에 (즉, 서버에 더 많은 요청을하는 것보다). 그 데이터는 대개 한 번 업데이트됩니다 (다른 웹 사이트에서 API를 통해 데이터를 가져 오는 중입니다). 따라서 data_update
변수를 설정하고 다른 데이터와 함께 저장합니다.
그런 식으로 로컬 저장소에서 저장된 데이터를 가져 와서 확인이 이루어질 때 data_update
(날짜/시간)과 시간/날짜의 차이가 있는지 확인하고 주보다 큰지 확인합니다/일/등.
이것이 내가 JSON 기능을 사용하는 이유입니다. 내 문제는 로컬 저장소에서 데이터를 구문 분석 할 때 날짜가 Date()
개체와 다를 것으로 보입니다.
내가 당 다음 작업을 할 노력하고있어 말 :
var x = JSON.parse(JSON.stringify(new Date()));
var y = JSON.parse(this.get_local_storage_data(this.data_cache_key)); // the data object stored on local storage
var q = y.data_update; // this is the variable where the Date() was stored
console.log(Math.floor((x-q)/1000));
은 위의 null
를 반환합니다. 또한 Math.floor(x)
결과를보고 싶을 때 null
을 다시 반환합니다.
그래서이 상황에서 어떻게해야합니까? 이 문제가 수정 되었습니까? 당신이 날짜 JSON.stringify의 출력을 보면
당신은에 의해이 같은 도발을 방지 할 수 있습니다 stringify/parse 대신에 rhaboo와 같은 localStorage 래퍼를 사용합니다.이 래퍼는이 외에도 많은 부정확성이 있습니다. –