【问题标题】:How to use 'new Date' method with the result of a function?如何将“新日期”方法与函数结果一起使用?
【发布时间】:2016-12-09 10:21:56
【问题描述】:

感谢new Date() 方法,我想将整数转换为日期。 所以我写了我的函数来获得一个好的格式日期。

function getBussinessDays(number_of_working_days, start_date){
  var start_date = start_date.split("/").join(",");
  console.log(start_date)
}

getBussinessDays(2, "28/12/2016"); // => 28,12,2016

当我尝试在我的结果上运行new Date时,我得到:

new Date(28,12,2016); // => Mon Jul 09 1934 00:00:00 GMT+0200 (CEST)

直到这里它才起作用。但是当我直接将函数添加到new Date我得到这个错误:

new Date(getBussinessDays(2, "28/12/2016")); // => Invalid date

【问题讨论】:

  • 我认为这是因为你给它一个字符串而不是数字
  • 您需要颠倒这些值的顺序……
  • 你是return你的start_date,还是只是console.log()
  • 对规范中的Date 构造函数或on MDN一瞥应该会确切地告诉您为什么new Date(28,12,2016) 不起作用. (有两个原因,一定要同时寻找。)

标签: javascript function date


【解决方案1】:

请试试这个....

var date = "28/12/2016".split("/");
var d = new Date(parseInt(date[2]), parseInt(date[1]) - 1, parseInt(date[0]));
alert(d);

【讨论】:

    【解决方案2】:

    日期对象要求您以整数格式传递月、年和日值。您正在传递整个字符串。下面的代码可以工作。

    function getBussinessDays(number_of_working_days, start_date){
      var start_date = start_date.split("/");
      return start_date
    }
    function show()
    {
    var d = getBussinessDays(2, "28/12/2016")
    alert(new Date(parseInt(d[0]),parseInt(d[1]),parseInt(d[2])))
    }
    <input type="button" onclick="show()" value="click"/>

    【讨论】:

      【解决方案3】:

      也许是这样的:

      function getBussinessDays(number_of_working_days, start_date){
        return start_date.split("/");
      }
      var date = getBussinessDays(2, "28/12/2016");
      new Date(date[2],date[1]-1,date[0]);
      

      【讨论】:

        猜你喜欢
        • 2019-09-19
        • 2021-10-01
        • 2021-01-02
        • 2021-12-11
        • 2021-10-27
        • 2013-09-03
        • 1970-01-01
        • 2021-02-18
        • 2017-06-07
        相关资源
        最近更新 更多