如何在 JavaScript 中将 long 转换为 int?
How can I convert long to int in JavaScript?
此 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>
像这样使用parseInt()
函数:
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 = parseInt(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";
}
}
<!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>
</html>
我设置 data.setHours(0);
是因为日期的时区问题导致了一些问题,它只是重置了时间。在那之后,它似乎起作用了。
试试这个:
var d = new Date();
function myFunction() {
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);
dat.setMilliseconds(0);
var data = new Date(input);
data.setHours(0);
var mill1 = dat.getTime();
var mill2 = data.getTime();
if (data > dat) {
mill2 = data - dat;
console.log(data)
console.log(dat)
var ris = mill2 / 60 / 60 / 24 / 1000;
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";
}
}
<!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>
</html>
此 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>
像这样使用parseInt()
函数:
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 = parseInt(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";
}
}
<!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>
</html>
我设置 data.setHours(0);
是因为日期的时区问题导致了一些问题,它只是重置了时间。在那之后,它似乎起作用了。
试试这个:
var d = new Date();
function myFunction() {
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);
dat.setMilliseconds(0);
var data = new Date(input);
data.setHours(0);
var mill1 = dat.getTime();
var mill2 = data.getTime();
if (data > dat) {
mill2 = data - dat;
console.log(data)
console.log(dat)
var ris = mill2 / 60 / 60 / 24 / 1000;
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";
}
}
<!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>
</html>