2017-05-07 68 views
1

所以我有這個代碼顯示不同的文本取決於一天的時間。文本取決於當天的時間和星期幾

</style> 

<!-- HTML Code --> 
<strong class="GeneratedText"><script type="text/javascript"> 
document.write("<p>"); 
var day = new Date(); 
var hr = day.getHours(); 
if (hr == 1) { 
document.write(" Club Life" ); 
} 
if (hr == 2) { 
document.write(" Club Life "); 
} 
if (hr == 3) { 
document.write(" Identity  "); 
} 
if (hr == 4) { 
document.write("A State Of Trance"); 
} 
if (hr == 5) { 
document.write("A State Of Trance"); 
} 
if ((hr == 6) || (hr == 7) || (hr == 8) || (hr == 9) || (hr == 10)    || (hr == 11) || (hr == 12) || (hr == 13) || (hr == 14)) { 
document.write(" New Musikk" ); 
} 
if (hr == 15) { 
document.write("  Protocol" ); 
} 
if ((hr == 16) || (hr == 17) || (hr == 18) || (hr == 19)) { 
document.write(" New Musikk" ); 
} 
if ((hr == 20) || (hr == 21)) { 
document.write(" Rock Rush" ); 
} 
if (hr == 22){ 
document.write(" Spinnin Sessions"); 
} 
if (hr == 23) { 
document.write(" Planet Perfecto"); 
    } 
if (hr==0) { 
document.write(" Planet Perfecto"); 
} 
document.write("</p>"); 
</script></strong> 

問題是它每天都顯示相同的文字。例如,我希望Spinnin Sessions只能在星期一顯示,而Rock Rush只能在星期一至星期四顯示。同樣的想法與他們所有人。 (在不同的日子不同的文字。我該怎麼辦呢? 另一個問題是,文本是基於觀衆的時間顯示,但不是我的。這可怎麼固定? 謝謝

+0

你真的應該使用地圖或數組,而不是該從服務器獲取所需時間的第二個問題。存儲所有要顯示的字符串,然後使用小時從列表中檢索相應的字符串:var list = {};列表[1] =列表[2] =「俱樂部生活」;/* ... */document.write(list [hr]);' –

回答

3
<strong class="GeneratedText"> 
    <script type="text/javascript"> 
     document.write("<p>"); 
     var day = new Date(); 
     var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
     var d = weekday[day.getDay()]; 
     var hr = day.getHours(); 
     if (hr == 1) { 
      document.write(" Club Life"); 
     } else if (hr == 2) { 
      document.write(" Club Life "); 
     } else if (hr == 3) { 
      document.write(" Identity  "); 
     } else if (hr == 4) { 
      document.write("A State Of Trance"); 
     } else if (hr == 5) { 
      document.write("A State Of Trance"); 
     } else if ((hr == 6) || (hr == 7) || (hr == 8) || (hr == 9) || (hr == 10) || (hr == 11) || (hr == 12) || (hr == 13) || (hr == 14)) { 
      document.write(" New Musikk"); 
     } else if (hr == 15) { 
      document.write("  Protocol"); 
     } else if ((hr == 16) || (hr == 17) || (hr == 18) || (hr == 19)) { 
      document.write(" New Musikk"); 
     } else if (((hr == 20) || (hr == 21)) && 
      (d == "Monday" || d == "Tuesday" || d == "Wednesday" || d == "Thursday")) { 
      document.write(" Rock Rush"); 
     } else if (hr == 22 && d == "Monday") { 
      document.write(" Spinnin Sessions"); 
     } else if (hr == 23) { 
      document.write(" Planet Perfecto"); 
     } else if (hr == 0) { 
      document.write(" Planet Perfecto"); 
     } 
     document.write("</p>"); 
    </script> 
</strong> 

使用PHP或ASP.NET例如

+0

嗨,所以我使用這個代碼,但它仍然無法正常工作。它只基於小時,而不是小時和天。你知道我可以改變什麼嗎?謝謝你 –

+0

你如何看到它不適用於我它正在工作,但今天是星期日驗證是從星期一到星期四或星期一 – Osama

+0

顯示Rock Rush。它不應該,因爲它不是星期一星期一或星期三 –

1

可以使用getDay()函數來獲取一週中的一天。

下面是一個example

var d = new Date(); 
var weekday = new Array(7); 
weekday[0] = "Sunday"; 
weekday[1] = "Monday"; 
weekday[2] = "Tuesday"; 
weekday[3] = "Wednesday"; 
weekday[4] = "Thursday"; 
weekday[5] = "Friday"; 
weekday[6] = "Saturday"; 

var n = weekday[d.getDay()]; 

關於時間,檢查this out

+2

爲什麼使用'new Array(7)'?當我們可以簡單地使用'[「星期天」,「星期一」,...]來實例化時。 –

+1

這只是從我添加的鏈接複製的示例。它有助於演示使用getDay函數。這也使得它更明顯,第一天是星期天,它的值是0. –

+0

@DivyaMamgai可能是因爲[Java](https://docs.oracle.com/javase/8/docs/api/index.html?的java/UTIL/Vector.html)。 –

1

Date對象有一個方法getDay

var Xmas95 = new Date('December 25, 1995 23:15:30'); 
 
var weekday = Xmas95.getDay(); 
 
console.log(weekday); // 1

1

day.getHours()會給小時,以獲得日常使用getDay將在整數返回星期的一天,其中0代表星期天。

Date對象根據系統中設置的本地時間返回指定日期。 爲了解決第二個問題,使用服務器日期

+0

好的,但我也希望它會顯示取決於星期幾和一天的時間。可能嗎? –

相關問題