Javascript Can';在比较日期时,不能使getDate()工作
我正在做一个解决方案,用户必须选择两个日期,然后我必须检查它们是否在一周之内,并找出它们之间有多少天。我尝试使用“getDate()”来执行此操作,但我得到了错误:Javascript Can';在比较日期时,不能使getDate()工作,javascript,date,getdate,Javascript,Date,Getdate,我正在做一个解决方案,用户必须选择两个日期,然后我必须检查它们是否在一周之内,并找出它们之间有多少天。我尝试使用“getDate()”来执行此操作,但我得到了错误: TypeError: periodeSlutt.getDate is not a function 我希望你们中的一个能告诉我我做错了什么。我试着四处搜索,但我真的不知道问题出在哪里 另外:我是挪威人,所以注释和变量名都是用挪威语写的。给您带来不便,我深表歉意 <!doctype html> <html>
TypeError: periodeSlutt.getDate is not a function
我希望你们中的一个能告诉我我做错了什么。我试着四处搜索,但我真的不知道问题出在哪里
另外:我是挪威人,所以注释和变量名都是用挪威语写的。给您带来不便,我深表歉意
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
</style>
</head>
<body>
<form>
Hei! Takk for at du ønsker å bestille heiskort hos oss. <br>
Vennligst oppgi din alder: <input type="number" id="alder" min="1" max="99"> <br>
Når ønsker du å besøke oss? Fra: <input type="date" id="datoStart"> Til: <input type="date" id="datoSlutt"> (Maks 1 uke)<br>
<input type="submit" name="fullfør" onclick="beregnPris()">
</form>
<script type="text/javascript">
var pris = 0;
var makspris = 0;
function beregnPris() {
// sjekk om brukeren er under eller over 12 år.
var brukerAlder = document.getElementById("alder").value;
console.log(brukerAlder);
if (brukerAlder >= 12) {
// hvis under --> sett pris til 280 og makspris til 900.
pris = 280;
makspris = 900;
} else {
// hvis over --> sett pris til 440 og makspris til 1500.
pris = 440;
makspris = 1500;
}
// sjekk når brukeren har bestilt.
var periodeStart = document.getElementById("datoStart").value;
var periodeSlutt = document.getElementById("datoSlutt").value;
console.log(periodeStart);
console.log(periodeSlutt);
// hvis tidsperioden er mer enn 7 dager, eller går tilbake i tid --> feilmelding.
if (periodeStart > periodeSlutt) {
alert("Startdatoen må komme før sluttdatoen!");
}
// trekker en uke fra "periodeSlutt", slik at den kan sammenlignes med "periodeStart" og sjekke at oppholdet ike er mer enn én uke.
var ukeSjekk = 0;
ukeSjekk.setDate(periodeSlutt.getDate() - 7);
console.log(ukeSjekk);
if (periodeStart < ukeSjekk) {
alert("Du kan desverre ikke booke oss for mer en en uke.")
}
// hvis tiden er rett --> pris * anntal dager.
// sjekker hvor mange dager det er mellom "periodeStart" og "periodeSlutt".
var antallDager = periodeSlutt.getDate() - periodeStart.getDate();
brukerPris = pris * antallDager;
// hvis prisen er under makspris --> ferdig.
if (brukerPris < makspris) {
document.write("Prisen ble " + brukerPris + ". Håper du har det flott hos oss.");
} else {
// hvis prisen er over makspris --> pris = pris - makspris. Rabatt = pris. Pris = makspris. --> ferdig
brukerPris = brukerPris - makspris;
var rabatt = brukerPris;
brukerPris = makspris;
document.write("Prisen ble " + brukerPris + ". Håper du har det flott hos oss. Du fikk en rabatt på " + rabatt + "kr!");
}
}
</script>
</body>
</html>
嗨!让我们来看看杜恩斯克尔·贝斯蒂尔·海斯科特的作品
维恩利格斯特·奥普吉·丁·阿尔德:
Nårønsker duåbesøke oss?Fra:Til:(Maks 1 uke)
var-pris=0;
var makspris=0;
函数beregnPris(){
//在埃勒的领导下,斯切克·奥姆·布鲁克伦在12岁以上。
var brukerAlder=document.getElementById(“alder”).value;
控制台日志(brukerAlder);
如果(布鲁克拉尔德>=12){
//hvis在-->sett pris til 280 og makspris til 900下。
pris=280;
makspris=900;
}否则{
//hvis超过-->设置pris直到440 og makspris直到1500。
pris=440;
makspris=1500;
}
//斯切克·布鲁克伦·哈贝斯蒂尔特。
var periodstart=document.getElementById(“datoStart”).value;
var periodeSlutt=document.getElementById(“datoSlutt”).value;
控制台日志(periodeStart);
控制台日志(periodeSlutt);
//这是第7天,第3天,第7天,第3天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天,第7天。
if(periodeStart>periodeSlutt){
警觉(“Startdatoen måkomme før sluttdatoen!”);
}
//长途跋涉是一种“周期性的运动”,在奥普霍尔德·艾克·梅尔·恩恩·乌克的“周期性运动”中,长途跋涉是一种“周期性的运动”。
var ukeSjekk=0;
setDate(periodeSlutt.getDate()-7);
console.log(ukeSjekk);
if(周期开始pris*anntal dager。
//sjekker hvor mange dager det er mellom“periodeStart”og“periodeSlutt”。
var antallDager=periodeSlutt.getDate()-periodeStart.getDate();
brukerPris=pris*antallDager;
//在makspris-->ferdig下的hvis prisen er。
if(布鲁克普里斯pris=pris-makspris.Rabatt=pris.pris=makspris。-->ferdig
brukerPris=brukerPris-makspris;
var rabatt=brukerPris;
brukerPris=makspris;
文档。写(“Prisen ble”+brukerPris+”.Håper du har det flott hos.du fikk en rabatt på”+rabatt+“kr!”);
}
}
您将从输入中获取原始数值,但需要将其转换为javascript Date()对象。试试这个:
var periodeStart = new Date(document.getElementById("datoStart").value);
var periodeSlutt = new Date(document.getElementById("datoSlutt").value);
及
您正在读取此处输入字段的值,该值仅为字符串。如果要调用日期对象的方法,则必须首先从该值创建一个日期对象。
valueAsDate
将直接返回一个日期实例(但我没有检查浏览器支持。)@04FS谢谢!我该怎么做?可能重复的OK,谢谢大家怎么回答,但你能假设我很愚蠢,需要一个非常简单的答案吗?如何将字符串更改为日期而不影响日期?啊,是的,字符串结果,而不是数字。我也是JS新手:P
var ukeSjekk = new Date();