[英]Javascript for loop behaviour outputting the same result each iteration
我承認我是一個JS新手,並且來自PHP背景,我對范圍的理解顯然與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
變量上,對嗎?
有人可以解釋這樣做的正確方法嗎? 謝謝。
每個時間戳之間有86400天(即1/1000天)。
您正在計算(在strtotime
),好像時間戳是秒,但它們是毫秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.