我正在尝试为我的学校制作一个显示当天日程安排的应用程序/脚本。这样做的结果是我的学校在8天的周期内运行,因此使事情复杂化。我有一个名为 cycleDay 的变量,但是我如何每天只更新一次,而不是更多?如果还有其他方法可以考虑这样做,请告诉我。
谢谢!
答案 0 :(得分:0)
使用Date
和document.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 */
答案 1 :(得分:0)
private Date lastUpdate = now()-1;
private myDailyChahgedValue;
Integer getMyDailyChangedValue() {
if (lastUpdate <> now()) {
myDailyChahgedValue ++;
}
return value;
}
请注意,这是一个显示主要想法的代码草案
答案 2 :(得分: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;
// ...
}