【问题标题】:Determine if a date is a Saturday or a Sunday using JavaScript使用 JavaScript 确定日期是星期六还是星期日
【发布时间】:2009-07-25 04:42:50
【问题描述】:

是否可以使用 JavaScript 确定日期是星期六还是星期日

你有这个的代码吗?

【问题讨论】:

    标签: javascript date


    【解决方案1】:

    没错! Date 类有一个名为 getDay() 的函数,它返回一个介于 0 和 6 之间的整数(0 是星期日,6 是星期六)。所以,为了看看今天是不是周末:

    var today = new Date();
    if(today.getDay() == 6 || today.getDay() == 0) alert('Weekend!');
    

    要查看任意日期是否为周末,您可以使用以下命令:

    var myDate = new Date();
    myDate.setFullYear(2009);
    myDate.setMonth(7);
    myDate.setDate(25);
    
    if(myDate.getDay() == 6 || myDate.getDay() == 0) alert('Weekend!');
    

    【讨论】:

    • @Steve: 我知道,但举个例子,通常最好更详细一些,以防有人不知道参数的顺序。
    • 很好的答案@AndrewMoore!另外值得一提的是,如果您手动设置日期,则需要将月份减去 1,因为它是 0 索引交易。所以 0 = 一月,1 = 二月,依此类推。 :)
    【解决方案2】:

    您可以进一步简化@Andrew Moore 的测试:

    if(!(myDate.getDay() % 6)) alert('Weekend!');
    

    (喜欢那个模函数!)

    【讨论】:

    • 聪明的 :) 我喜欢它。
    • 这是一个更易读的版本:const isWeekend = (date) => date.getDay() % 6 === 0
    【解决方案3】:

    Date 类提供 getDay() 方法,该方法将日期的星期几部分检索为从 0 到 6 的数字(0=星期日、1=星期一等)

    var date = new Date();
    switch(date.getDay()){
        case 0: alert("sunday!"); break;
        case 6: alert("saturday!"); break;
        default: alert("any other week day");
    }
    

    【讨论】:

      【解决方案4】:

      我认为这是一种优雅的方式:

      function showDay(d) {
          return ["weekday", "weekend"][parseInt(d.getDay() / 6)];
      }
      
      console.log(showDay(new Date()));
      

      【讨论】:

      • 它不太好用。它适用于周六,但周日返回工作日,而不是周末。
      【解决方案5】:

      是的,有可能,我们可以使用 JavaScript Date 对象为此编写 JavaScript 代码。

      请使用以下 JavaScript 代码。

      var d = new Date()

      document.write(d.getDay())

      我们可以编写一个函数来返回周末的标志,如下所示, 您可以更多地自定义传递日期的功能。或者每天都有不同的返回值。

          isItWeekEnd = function() {
          var d = new Date();
          console.log(d.getDay());
          var dateValue = d.getDay(); 
          // dateValue : 0 = Sunday
          // dateValue : 6 = Saturday
          if(dateValue == 0 || dateValue == 6)
              return true;
          else 
              return false;  
      }
      

      【讨论】:

      • 周六和周日在哪里?
      【解决方案6】:

      var date = new Date();
      var day = date.getDay();
      if(day==0){
      	return false;
          //alert('sunday'); 
      }

      【讨论】:

      • 这如何为现有答案添加任何内容? (更不用说它没有回答完整的问题)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 2018-06-12
      • 2019-04-08
      • 1970-01-01
      相关资源
      最近更新 更多