Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';在比较日期时,不能使getDate()工作_Javascript_Date_Getdate - Fatal编程技术网

Javascript Can';在比较日期时,不能使getDate()工作

Javascript Can';在比较日期时,不能使getDate()工作,javascript,date,getdate,Javascript,Date,Getdate,我正在做一个解决方案,用户必须选择两个日期,然后我必须检查它们是否在一周之内,并找出它们之间有多少天。我尝试使用“getDate()”来执行此操作,但我得到了错误: TypeError: periodeSlutt.getDate is not a function 我希望你们中的一个能告诉我我做错了什么。我试着四处搜索,但我真的不知道问题出在哪里 另外:我是挪威人,所以注释和变量名都是用挪威语写的。给您带来不便,我深表歉意 <!doctype html> <html>

我正在做一个解决方案,用户必须选择两个日期,然后我必须检查它们是否在一周之内,并找出它们之间有多少天。我尝试使用“getDate()”来执行此操作,但我得到了错误:

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();