2012-10-18 32 views
0

我的JS代码当前如下:显示使用Javascript一周的元素

var today = new Date(), 
d = today.getDate(), 
m = today.getMonth() + 1, 
y = today.getFullYear(), 
date = d + '/' + m + '/' + y, 
specialDate = '22/10/2012'; 

if (date == specialDate) { 
document.getElementById("doodle").style.display = "block"; 
document.getElementById("defaultheader").style.display = "none"; 
} 
else { 
document.getElementById("doodle").style.display = "none"; 
document.getElementById("defaultheader").style.display = "block"; 
} 

代码工作完美,但我现在想了一个星期显示#doodle(10月22日至28日),而不是一天。我怎么做?

回答

1

最好使用Date.now()new Date().getTime()来做到这一点。然后,你可以比较两个“时代”:

var dateFrom = new Date('Oct 22 2012').getTime(), 
    dateTo = new Date('Oct 28 2012').getTime(); 

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

if (dateNow >= dateFrom && dateNow =< dateTo) { 
    // show the element 
} else { 
    // hide it 
} 

编辑:

您还可以创建在控制台dateFromdateTo,把数值有 - 如果你需要优化它。

+1

该解决方案将不会使用'.getTime()' – cbayram

+0

是的,但是我们需要在内存中存储整个Date对象吗?太浪费了。 – Killah