0

有了这个功能,我知道接下来 7 天的日子。所以我的问题是,我只想要数字而不是整个日期。

我明白了:Thu Jul 25 2013 15:08:36 GMT+0200 (CEST)。我怎样才能分割我只收到的这个25

这里的js代码:

Date.prototype.addDays = function(days) {
   var dat = new Date(this.valueOf())
   dat.setDate(dat.getDate() + days);
   return dat;
}

function getDates(startDate, stopDate) {
  var dateArray = new Array();
  var currentDate = startDate;
  while (currentDate <= stopDate) {
    dateArray.push(currentDate)
    currentDate = currentDate.addDays(1);
  }
  return dateArray;
}

var dateArray = getDates(new Date(), (new Date()).addDays(7));

for (i = 0; i < dateArray.length; i ++ ) {
    var arrays = dateArray[i];
    console.log(arrays);
}

提前致谢!

4

4 回答 4

3

我认为您不需要拆分任何字符串,因为您可以直接从 Date 实例中获取月份的日期:

    console.log(arrays.getDate());

当您以某种方式使用 JavaScript Date 实例时,它们会转换为字符串,但它们有很多行为,正如您从编写的用于操作它们的代码中清楚地知道的那样。

于 2013-07-25T13:19:22.047 回答
1

只需使用

dateArray.push(currentDate.getDate())

而是在getDates函数中,它将返回一个数字数组而不是日期对象。

于 2013-07-25T13:22:33.663 回答
1

dateArray是一个Date对象数组,在 for 循环arrays中将是当前项目,因此您可以使用已在其他函数中使用的方法Date获取每个项目的日期部分:.getDate()

console.log(arrays.getDate());
于 2013-07-25T13:20:13.103 回答
0

好吧,我.getDate()在 while 中添加了 push 事件 :) 最简单的方法 :)

while (currentDate <= stopDate) {
  dateArray.push(currentDate.getDate())
  currentDate = currentDate.addDays(1);
}
于 2013-07-25T13:21:46.737 回答