如何根据Moment.js的日期显示不同的消息?

时间:2016-07-07 11:53:26

标签: javascript html css momentjs

我正在使用Moment.js尝试显示不同的消息,具体取决于它的日期。

例如,如果是:

  • 星期一我想说'#34;星期一!"
  • 星期二我想说"快乐星期二!"

等等......

到目前为止,我有这样的电话:时刻()。格式(' dddd')我知道它完全显示星期几,但我不知道知道如何根据一周中的哪一天显示不同的消息。

感谢您提前花时间研究这个问题。

奥利

4 个答案:

答案 0 :(得分:1)

很容易确定当天,即使没有moment.js:



console.log("Happy " + ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"][new Date().getUTCDay()-1])




以下是一个更高级的示例:



var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
var day = new Date().getUTCDay() - 1;

function getMessageOfTheDay() {
  switch (day) {
    case 0:
      return "Moody " + days[day];
      break;
    case 1:
      return "Trippy " + days[day];
      break;
    case 2:
      return "Weeping " + days[day];
      break;
    case 3:
      return "Thundering " + days[day];
      break;
    case 4:
      return "Freaky " + days[day];
      break;
    case 5:
      return "Salty " + days[day];
      break;
    case 6:
      return "Super " + days[day];
      break;
    default:
      return "Happy " + days[day];
  }
}

var classes = document.getElementById("messageOfTheDay").getAttribute('class').split(' ');
classes.push('day-' + days[day].toLowerCase());
document.getElementById("messageOfTheDay").setAttribute('class', classes.join(' '))
document.getElementById("messageOfTheDay").innerHTML = getMessageOfTheDay();

console.log("Below is the HTML code for or `h1`. Notice the added day-{DAY-OF-WEEK}");
console.log(document.getElementById("messageOfTheDay"));

<h1 id="messageOfTheDay" class="hello world"></h1>
&#13;
&#13;
&#13;

刚刚将上面的代码段更新为返回字符串的函数。知道您可以轻松选择alertconsole.log或将其插入您的页面中,如上所述。

答案 1 :(得分:0)

我建议使用一个开关盒:

&#13;
&#13;
var msg = '';

switch (moment().format('dddd')) {
                case 'Monday':
                    {
                        msg = 'It\'s Monday!';
                        break;
                    }
                case 'Tuesday':
                    {
                        msg = 'Happy Tuesday!';
                        break;
                    }
                    // etc...
            }

document.getElementById('message').innerHTML = msg;
&#13;
<div id='message'></div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

尝试类似的东西

if(moment().format('dddd') == "Monday")
    //do something
if(moment().format('dddd') == "Tuesday")
    //do something else

答案 3 :(得分:0)

这是一个示例。然后,您可以使用myMessage来获取所需内容

var myMessage = '';
switch(moment().format('dddd')){
    case 'Monday':
        myMessage = "It's Monday !";
        break;
    case 'Tuesday':
        myMessage = "Happy Tuesday !";
        break;
    case ...
}