我不瞭解JavaScript,但我熟悉以下說明。我知道一點PHP。根據用戶當前時間輸出文本的JavaScript
我正在尋找一段JS,它會根據用戶的當前時間爲我的標題輸出特定的文本字符串。
例如:
12:00AM - 12:00PM - Good Morning!
12:00PM - 6:00PM - Good Afternoon!
6:00PM - 12:00AM - Good Evening!
我不瞭解JavaScript,但我熟悉以下說明。我知道一點PHP。根據用戶當前時間輸出文本的JavaScript
我正在尋找一段JS,它會根據用戶的當前時間爲我的標題輸出特定的文本字符串。
例如:
12:00AM - 12:00PM - Good Morning!
12:00PM - 6:00PM - Good Afternoon!
6:00PM - 12:00AM - Good Evening!
嘗試下面的一段Javascript代碼:
var today = new Date()
var curHr = today.getHours()
if (curHr < 12) {
console.log('good morning')
} else if (curHr < 18) {
console.log('good afternoon')
} else {
console.log('good evening')
}
試試這個JS代碼,這應該工作..
var dt = new Date().getHours();
if (dt >= 0 && dt <= 11){
console.log('GM')
}else if (dt >= 12 && dt <= 17){
console.log('Good Afternoon!')
}else {
console.log('GE')
}
如果你有很多'時間'和'文本'會怎麼樣?代碼會非常混亂。 –
我沒有測試過但它應該工作:
function getText()
{
var hour = new Date().getHours();
var minute = new Date().getMinutes();
if (hour >= 0 && hour < 12)
return 'Good Morning!';
else if (hour == 12 && minute == 0)
return 'Good Morning!';
else if (hour == 12 && minute > 0)
return 'Good Afternoon!';
else if (hour == 6 && minute == 0)
return 'Good Afternoon!';
else if (hour == 6 && minute > 0)
return 'Good Evening!';
else if (hour > 12 && hour < 6)
return 'Good Afternoon!';
else if (hour > 6 && hour < 12)
return 'Good Evening';
}
var data = [
[0, 4, "Good night"],
[5, 11, "Good morning"], //Store messages in an array
[12, 17, "Good afternoon"],
[18, 24, "Good night"]
],
hr = new Date().getHours();
for(var i = 0; i < data.length; i++){
if(hr >= data[i][0] && hr <= data[i][1]){
console.log(data[i][2]);
}
}
現在是我的電腦時鐘12:21,但它說早上好。是否有可能只是截斷小時,所以數組可能會說0,11?我不知道,只是建議。 –
@MikeMeldrem--我敢肯定它應該是'[0,11]'......不知道爲什麼我在之前放置了[[0,12]]。 –
如何:
var time = new Date().getHours();
,greeting = 'Good '+ (time < 12 ? 'Morning' :
time < 18 ? 'Afternoon' : 'Evening');
//=> new Date('2012/11/06 13:10') => 'Good Afternoon'
//=> new Date('2012/11/06 10:33') => 'Good Morning'
//=> new Date('2012/11/06 19:23') => 'Good Evening'
或增加Date
Date.prototype.greeting = function(){
var time = this.getHours();
return 'Good '+ (time<12 ? 'Morning' : time<18 ? 'Afternoon' : 'Evening');
};
new Date('2012/11/06 19:23').greeting() //=> 'Good Evening'
<script type="text/javascript">
var myDate = new Date();
var name = window.prompt("Please enter your name: ");
if (myDate.getHours() < 12) {
document.write("Good Morning " +name);
}
else if(myDate.getHours() >=12 && myDate.getHours() <=17){
document.write("Good Afternoon " +name);
}
else if (myDate.getHours() > 17 && myDate.getHours() <=24) {
document.write("Good Evening " +name);
}
else
{
document.write("Good Night");
}
</script>
這只是上面Derek朕會功夫解決方案的一小部分。
我覺得陣列比一堆if
陳述更清潔。
如果您向後工作時間,則不需要開始和結束小時。
此外,一旦你做了一場比賽,我加了一個break;
提前踢出。
var data = [
[22, 'Working late'],
[18, 'Good evening'],
[12, 'Good afternoon'],
[5, 'Good morning'],
[0, 'Whoa, early bird']
],
hr = new Date().getHours();
for (var i = 0; i < data.length; i++) {
if (hr >= data[i][0]) {
console.log(data[i][1])
break;
}
}
這對我有用。當然,我不得不將console.log更改爲document.write,以便將其輸出到頁面。我之所以選擇這個,是因爲它最簡單,適合我的需求,儘管下面的一些答案可能會更加正確。 –