2013-07-19 3 views
0

오늘 학교 일정을 표시하는 학교용 응용 프로그램/스크립트를 만들려고합니다. 이 문제는 학교가 8 일 주기로 돌아 다니기 때문에 상황이 복잡해집니다. 나는 이라는 변수를 cycleDay으로 만들었지 만, 이것을 하루에 한 번 업데이트하면 어떻게 될까요? 이 작업을 수행 할 수있는 또 다른 방법이 있다면 알려 주시기 바랍니다.Java/javascript에서 하루에 한 번 변수 값을 변경하는 방법

감사합니다.

+0

난 그냥 확실하게 당신에게 전체 코드 –

+0

을 제공 할 수 있습니다, 자바

예를 들어,로 초기화 Javascript가 아닙니다. 당신은 하나 또는 다른 것을 사용하고 있습니까? –

+0

차이점이 분명합니다. 이상적으로는 웹 사이트의 자바 스크립트로 변환하기 전에 Java에서 코드가 작동하는지 확인하고 싶었습니다. while 루프를 사용해 보았습니다.하지만 문제는 'cycleDay' 변수가 주말이나 공휴일이 될 때까지 지속적으로 업데이트한다는 것입니다.이 경우 while 조건은 false로 설정됩니다. –

답변

0

당신이 사용할 수있는, 말을 보여줍니다 무엇 코드의 초안주의하십시오 Date 개체의 getTime() 기능을 조작하는이 유틸리티 방법을 사용 1970 년 1 월 1 일 (출처 : http://www.w3schools.com/jsref/jsref_gettime.asp) 이후의 현재 시간을 밀리 초 단위로 반환하고 해당 값을 저장합니다 (예 : var lastUpdateTime). 그런 다음 주기적으로 현재 시간과 저장된 시간의 차이가 하루 이상인지 주기적으로 확인하십시오. 그렇다면 cycleDay을 업데이트하고 lastUpdateTime을 업데이트 한 시간으로 업데이트하십시오.

var lastUpdateTime = new Date().getTime(); 
다른 코드에서

어딘가에 : 당신이 cycleDay``에 대한 자세한 설명하면

var currentTime = new Date().getTime(); 
if(currentTime - lastUpdateTime >= 24*60*60*1000) // number of milliseconds in a day 
{ 
    // update cycleDay 
    lastUpdateTime = currentTime; 
    // ... 
} 
+0

@nondeterminstic narwhal 두 변수 사이에 합법적으로 24 시간 차이가 없으면'currentTime'과'lastUpdateTime'은 어떻게 다릅니 까? –

+0

아마도'lastUpdateTime'을 어딘가에 설정 한 다음 나중에'currentTime' 부분을 주기적으로 또는 어떤 이벤트에서 호출 할 것입니다 - 사용자가 일정을 업데이트하기 위해 버튼을 클릭하거나 사용자가 페이지에 액세스하고 코드의 두 번째 부분이 호출되면 24 시간 후에 변수가 업데이트되면 등 ... 프로그램의 나머지 부분이 어떻게 작동하는지 모르겠습니다. 그래서 더 자세한 내용을 입력하지 않았습니다. –

+0

@netermineterminstic narwhal 두 번째 부분은 나에게 잘 들립니다. 이상적으로, 사용자가 페이지에 접근 할 때, 그것은'currentTime'을 호출하여 그 의미에서 업데이트 할 때입니다. 내가 생각한 또 다른 방법은'lastUpdateTime'을 하드 코딩하여 오늘처럼 말한 날짜입니다. 그런 다음 위에 사용 된 논리와 비슷한 것을 사용하십시오. 그 생각? 도와 주셔서 감사합니다! –

0

Datedocument.cookies을 사용하여 변수를 업데이트하십시오. 또한 나는, document.cookies

var today = parseInt(new Date().getTime()/(1000*3600*24)) 

var cookies = getCookies(); 

if(cookies["last_updated"] && cookies["last_updated"]<today) 
{ 
    /* update variable */ 
    setCookie("last_updated", today, 1); 

} 

/* utility methods starts, adding utility methods to simplify setting and getting cookies */ 
function setCookie(name, value, daysToLive) { 
    var cookie = name + "=" + encodeURIComponent(value); 
    if (typeof daysToLive === "number") 
     cookie += "; max-age=" + (daysToLive*60*60*24); 
    document.cookie = cookie; 
} 

function getCookies() { 
    var cookies = {}; // The object we will return 
    var all = document.cookie; // Get all cookies in one big string 
    if (all === "") // If the property is the empty string 
     return cookies; // return an empty object 
    var list = all.split("; "); // Split into individual name=value pairs 
    for(var i = 0; i < list.length; i++) { // For each cookie 
     var cookie = list[i]; 
     var p = cookie.indexOf("="); // Find the first = sign 
     var name = cookie.substring(0,p); // Get cookie name 
     var value = cookie.substring(p+1); // Get cookie value 
     value = decodeURIComponent(value); // Decode the value 
     cookies[name] = value; // Store name and value in object 
    } 
    return cookies; 
} 
/* utility methods ends */ 
0
private Date lastUpdate = now()-1; 
private myDailyChahgedValue; 

Integer getMyDailyChangedValue() { 
if (lastUpdate <> now()) { 
    myDailyChahgedValue ++; 
} 

return value; 

} 

그것은 주요 아이디어

+1

@Joel : 다른 사용자 번호입니다 : P –

관련 문제