0

我正在尝试为我的学校制作一个显示当天日程安排的应用程序/脚本。问题是我的学校以 8 天为周期运行,这使事情变得复杂。我有一个名为cycleDay的变量,但是我将如何每天只更新一次,而不是更多?如果您有其他方法可以考虑这样做,请告诉我。

谢谢!

4

3 回答 3

0
private Date lastUpdate = now()-1;
private myDailyChahgedValue;

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

return value;

}

请注意,这是一个显示主要思想的代码草稿

于 2013-07-19T19:16:15.313 回答
0

例如,您可以使用对象的getTime()函数Date,它返回 1970 年 1 月 1 日之后的当前时间(以毫秒为单位)(来源:http ://www.w3schools.com/jsref/jsref_gettime.asp ),并保存该值(例如中var lastUpdateTime)。然后定期检查当前时间与保存的时间之间的差异是否超过一天。如果是这样,请更新cycleDay,并更新lastUpdateTime到您更新的时间。

例如,初始化:

var lastUpdateTime = new Date().getTime();

代码中的其他地方:

var currentTime = new Date().getTime();
if(currentTime - lastUpdateTime >= 24*60*60*1000) // number of milliseconds in a day
{
    // update cycleDay
    lastUpdateTime = currentTime;
    // ...
}
于 2013-07-19T19:17:48.717 回答
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 */
于 2013-07-19T19:09:40.367 回答