在两个日期之间循环。开始和结束日期(提取API)

时间:2019-10-03 18:36:34

标签: javascript json ajax api loops

我向银行请求获取输入中指示的时间间隔的汇率。 结果是间隔[startdate;结束日期] 但是要向银行提出请求,我需要以以下形式将所选日期转移到链接: 20191003

我这样做 :

var sdate=startdate.value.split("-").join("");
var edate=enddate.value.split("-").join("");

所以我向银行提出了要求,下个月介于两个日期之间。 而且我看到以下错误enter image description here 由于循环,这是一个错误,因为按照其逻辑,它应该像这样: 20190932 20190933 ... 但我需要像这样过渡到另一个月: 20191001 20191002

但是我不知道如何, 在我的网站上,我这样做,但是他使用乌克兰语 https://yurakhomitsky.github.io/exchange%20rates/

  var startdate=document.getElementById("cdate");
	var enddate=document.getElementById("bdate");
async function currency(e) {
	
	var sdate=startdate.value.split("-").join("");
	var edate=enddate.value.split("-").join("");

 	for (var i = Number(sdate); i <= Number(edate); i++){
 		console.log(i);
	let url=`https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?valcode=${currenc.value}&date=${i}&json`;
let response= await fetch(url);
let data =await response.json();
var itemObj={
	rate:data[0].rate,
	exchangedate:data[0].exchangedate
	};
	chartData.series[0].data.push(Number(itemObj.rate.toFixed(2)));
}

Highcharts.chart('container', chartData);
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,您怎么看? 我可以顺利切换到另一个月,似乎可以正常工作

async function currency(e) {


	var sdate=startdate.value;
	var edate=enddate.value;
	sdate=Date.parse(sdate);
	edate=Date.parse(edate);
 	for (let i=sdate;i<=edate;i=i+24*60*60*1000){
	let url=`https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?valcode=${currenc.value}&date=${new Date(i).toISOString().substr(0,10).split("-").join("")}&json`;
let response= await fetch(url);
let data =await response.json();
var itemObj={
	rate:data[0].rate,
	exchangedate:data[0].exchangedate
	};
	chartData.series[0].data.push(Number(itemObj.rate.toFixed(2)));
}

Highcharts.chart('container', chartData);
}

相关问题