2013-02-19 2 views
1

이전에는 Javascript를 사용 해본 적이 없기 때문에이 질문에 대해 유감스럽게 생각합니다. 매우 간단하기 때문에.특정 날짜로부터 24 시간마다 1 씩 증가합니다.

내가 원하는 것은 자바 스크립트로 날짜를 설정 한 다음 24 시간마다 1 씩 늘립니다. 따라서 날짜가 설정된 후 3 일이 지나면 HTML에 날짜가 아닌 3이 표시됩니다. 그리고 100 일 후에 100이 표시됩니다.

감사합니다.

+0

먼저 브라우저 샌드 박스에서 실행되는 JavaScript를 이해하고 사용자가 브라우저를 닫으면 JavaScript가 계속 실행되지 않을 것이며 일단 페이지를 다시로드하면 JavaScript 변수가 재설정되므로 대부분의 경우 기회가 번호가 변경된 것을보십시오. 목표를 달성하기위한 다른 방법을 찾아야합니다. –

+0

JavaScript는 어딘가에서 실행되어야합니다 (일반적으로 웹 브라우저에서) ... 웹 브라우저가 어떤 시간 동안 (또는 특정 시간). 이 수준의 내구성을 염두에두고 설계된 직업/서비스를 이용하는 것이 훨씬 더 좋습니다. –

+0

당신은 오랜 기간 동안 데이터를 저장하고 자바 스크립트에서 날짜 객체를 조사하는 방법을 배워야합니다. –

답변

2

초기 날짜를 나타내는 날짜와 현재 날짜를 나타내는 날짜 개체 두 개를 만들어야합니다. 그런 다음, 차이 계산 : https://developer.mozilla.org/en-US/docs/DOM/window.setInterval : 당신이 페이지가 공개되었습니다 얼마나 많은 일 보여주기 위해 찾고 있다면

// Calculate days since Dec 1st 2012 
var initialDate = new Date(2012, 11, 1); // Attention: month is zero-based 
var now = Date.now(); 
var difference = now - initialDate; 
var millisecondsPerDay = 24 * 60 * 60 * 1000; 
var daysSince = Math.floor(difference/millisecondsPerDay); 
alert(daysSince); // 80 

http://jsfiddle.net/PmYFc/

+0

정말 고마워요, 이건 내가 찾고 있던 바로 그거야 !!! – spamy

0

을, 당신은 setInterval을 기능을 사용하려고합니다. 당신의 HTML 요소가 <span id='example'>0</span>처럼 보였다 경우

그래서, 당신의 JS는 다음과 같습니다

var date = 0, 
    element = document.getElementById("example"); 

setInterval(function(){ 
    date++; 
    element.innerText = date; 
}, 1000 * 60 * 60 * 24); //milliseconds, seconds, minutes, hours 

비록, 어떤 페이지는 시간의 상당한 길이 unrefreshed 앉을 것 같지는 않다. 페이지 새로 고침 이상으로 날짜 변수를 유지해야하는 경우 localstorage를 조사 할 수 있습니다.

+0

또는 쿠키 ..... – RobG

관련 문제