37

JavaScript はわかりませんが、指示に従うことには慣れています。私は少しPHPを知っています。

ユーザーの現在の時刻に基づいて、ヘッダーに特定のテキスト文字列を出力する JS を探しています。

例えば:

12:00AM - 12:00PM - Good Morning!  
12:00PM - 6:00PM - Good Afternoon!  
6:00PM - 12:00AM - Good Evening!
4

17 に答える 17

88

次の 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')
}
于 2012-11-06T05:40:37.870 に答える
13
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]);
    }
}

デモ: http://jsfiddle.net/DerekL/we8Ty/

于 2012-11-06T05:41:59.730 に答える
2

どうですか:

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'

jsfiddleを参照してください

于 2012-11-06T06:28:15.980 に答える
1

この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')
}
于 2012-11-06T05:41:02.573 に答える
0
<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>
于 2014-12-23T10:16:58.637 に答える
0

私はテストしていませんが、動作するはずです:

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';
}
于 2012-11-06T05:41:05.533 に答える
0
    var today = new Date();
    var curHr = today.getHours();

    if (curHr < 12) {
        console.log('good morning')
    } else if (curHr >= 12 && curHr < 16) {
        console.log('good afternoon')
    } else {
        console.log('good evening')
    }
于 2020-05-04T07:33:17.903 に答える