【发布时间】:2021-04-16 14:07:00
【问题描述】:
此 HTML 文件计算当前日期与所选日期之间的天数差,只要它晚于今天。
最终输出显示两个日期之间有多少天,但我无法将其从 long 转换为 int。
谁能解决这个问题?
这里是代码:
<!DOCTYPE html>
<html>
<head>
<title>Calcolo distanza</title>
</head>
<body onload="myFunction()">
<p> Data corrente </p>
<button type="button" id="myBtn"></button>
<p> Scegli la data </p>
<input type="date" id="dataCorrente">
<input type="submit" onclick="calcola()">
<br>
<p id="Risultato"> </p>
</body>
<script>
var d= new Date();
function myFunction(){
console.log("onload()");
console.log(d);
document.getElementById("myBtn").innerHTML=d.toDateString();
}
function calcola(){
var input = document.getElementById("dataCorrente").value;
if(input!=null){
var dat=new Date();
dat.setHours(0);
dat.setMinutes(0);
dat.setSeconds(0);
var data = new Date(input);
var mill1=dat.getTime();
var mill2=data.getTime();
if(mill2>mill1){
mill2=mill2-mill1;
var ris=mill2/86400000;
document.getElementById("Risultato").innerHTML=ris;
}
else{
document.getElementById("Risultato").innerHTML="La data deve essere maggiore di quella corrente";
}
}
else{
console.log("input=null");
document.getElementById("Risultato").innerHTML="Data non inserita";
}
}
</script>
</html>
【问题讨论】:
-
@Spectric 第 36 行 document.getElementById("Risultato").innerHTML=ris;这将输出显示为长值,但我必须将其转换为长数
-
也许您想将数字四舍五入为整数? Math.round
-
JavaScript 中没有“长整数”这样的东西。所有数字都是双精度 64 位浮点值 (IEEE 754)。有一些表面支持将整数作为小数部分设置为 0 的数字。
-
@James 是的,但 Spectric 只是用 parseInt() 解决了它
-
parseInt 会去掉小数点,如果你想四舍五入的话,使用round。
标签: javascript html type-conversion integer long-integer