我向银行请求获取输入中指示的时间间隔的汇率。 结果是间隔[startdate;结束日期] 但是要向银行提出请求,我需要以以下形式将所选日期转移到链接: 20191003
我这样做 :
var sdate=startdate.value.split("-").join("");
var edate=enddate.value.split("-").join("");
所以我向银行提出了要求,下个月介于两个日期之间。 而且我看到以下错误 由于循环,这是一个错误,因为按照其逻辑,它应该像这样: 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);
}
答案 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);
}