我创建了一个计算两个日期之间星期差异的函数。用户必须选择周六或周日(周开始和结束)下一步,是让文档创建
元素在所选范围内每周枚举一次。
这是我的JSFiddle
http://jsfiddle.net/jafaoej5/1/
var $arr = [];
while(lowEnd <= totalweeks.innerHTML){
arr.push(lowEnd++);}
console.log( $( "arr" ).get()) ;
});
这是我试图用来控制日志总数的一些代码。从那里我将进行数学运算以使用UTC时间执行转换操作。问题是我无法获得我的阵列。我怎样才能得到我的阵列?
答案 0 :(得分:2)
您正在创建$arr
但是正在推进arr
??
我认为这应该是:
var $arr = []; // Or just use 'arr' instead of '$arr'
while (lowEnd <= totalweeks.innerHTML) {
// The above 'while' also needs modification because you're using lowEnd
// as an integer whereas innerHtml will return a string
// MAYBE this is what you want:
// var totalWeeks = parseInt(totalweeks.innerHTML) || 0;
// while (lowEnd <= totalWeeks) {}
$arr.push(lowEnd++);
console.log($arr);
});
至于get()
功能,我不知道你要做什么。
答案 1 :(得分:-1)
如果你想要几周的差异,你可以做到这一点:
var firstDate = new Date("7/11/2010"); // get those through datepicker
var secondDate = new Date("12/12/2010");
// calculate difference in timestamp (miliseconds)
var timestampDiff = Math.abs(secondDate.getTime() - firstDate.getTime());
// convert the difference into weeks, use ceil to round up (started weeks), use floor to roun down (full weeks)
var weeksDiff = Math.ceil(timestampDiff / (1000 * 3600 * 24 * 7));
console.log(weeksDiff);
至于数组:$arr
和arr
不一样,我建议在命名对象变量时使用$
,所以在这种情况下arr
是更好。
使用innerHtml
来限制oyor循环并不是一个好主意,因为如果它不是数字,你将会收到错误。
// declare an array
var arr = [];
while(lowEnd <= parseInt(totalweeks.innerHTML)){
arr.push(lowEnd++);}
});
// print it once it's complete
console.log(arr);