首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript for循环行为,每次迭代输出相同的结果

Javascript for循环行为,每次迭代输出相同的结果
EN

Stack Overflow用户
提问于 2013-10-11 04:25:37
回答 1查看 107关注 0票数 0

我承认我是一个JS新手,并且来自PHP背景,我对作用域的想法明显不同于Javascript。

代码语言:javascript
复制
// There's a date set, so begin processing
var original_date       = new Date($('input#tour_encoded_dates').val());
var date_search_string  = ''; 
var day_limit           = 14;
var timestamp           = '';

// Go forwards day_limit days
for(var i = 0; i < day_limit; i++) {
    timestamp = strtotime('+'+i+' days', original_date);
    calculated_date = new Date(timestamp).format('Y-m-d');
    date_search_string += calculated_date + ' ';
}

console.log(date_search_string);

console.log()的输出为:

2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10

我原本希望每次迭代都会将日期增加一天,但它们保持不变。

作为参考,如果我将循环的最后一行更改为date_search_string += timestamp + ' ';,则输出如下:

1381363200000 1381363286400 1381363372800 1381363459200 1381363545600 1381363632000 1381363718400 1381363804800 1381363891200 1381363977600 1381364064000 1381364150400 1381364236800 1381364323200

所以问题很明显出在calculated_date变量上--对吧?

有人能解释一下做这件事的正确方法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-10-11 04:58:22

每个时间戳之间有86400 (即千分之一天)。

您正在计算(在strtotime中),就好像时间戳是秒,但它们是毫秒。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19305550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档