0

DateJSを使用してDateObjectを読み取り可能な形式(dd.MM.yyyy)に変換しようとしています。文字列に変換しようとすると、「llegalradix0」というエラーが発生します。

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pick the date</title>
<link type="text/css" href="css/smoothness/jquery-ui-1.8.14.custom.css" rel="Stylesheet" /> 
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.14.custom.min.js"></script>
<script src="inc/date-fi-FI.js" type="text/javascript"></script>
<script type="text/javascript">
    function parseDate() {
        var date = $('#date').val();
        var parsedDate = Date.parse(date);
        alert('Parsed date: '+parsedDate);
    }
    function jämförMedIdag (datum) {
        if (datum == null || datum == "") {
            alert('Inget datum!');
            return;
        }
        /*resultat = Date.compare(Datum1,Datum2);
        alert(resultat); */
        var datum = Date.parse(datum);
        var dagar = datum.getDate();
        var månader = datum.getMonth();
        var år = datum.getYear();
        var nyttDatum = new Date();
        nyttDatum.setFullYear(år,månader,dagar);
        var idag = new Date();

        if(nyttDatum>idag) {
            var svar = nyttDatum - idag;
            svar = svar.toString("dd.MM.yyyy");
            alert(svar);
            return(svar);
        } else {
            var svar = idag - nyttDatum;
            svar = svar.toString("dd.MM.yyyy");
            alert(svar);
            return(svar);
        }
    }
</script>
</head>

<body>
<form>
    <input type="text" name="date" id="date" value ="13.03.1990" />
    <input type="button" onclick="jämförMedIdag(document.getElementById('date').value)" value="Compare the date" />
</form>
</body>
</html>

実際の動作をご覧ください:http://resk.latvalashop.com/date.php

4

1 に答える 1

0

Datesを減算すると、新しい日付ではなく数値が返されますに変換するには、次のことをDate試してください。

new Date(endDate - startDate).toString("dd.MM.yyyy");

ただし、(のように1 month)違いを確認しようとしている場合は、1970年1月1日に開始されるため、これは役に立ちません。

正確には、取得される数値は1970年1月1日からのミリ秒数です。したがって、数値として表される差は秒単位の差です。1週間は7 * 24 * 60 * 60 * 1000ミリ秒なので、次の行に沿って何かを使用します。

if(endDate - startDate > 7 * 24 * 60 * 60 * 1000) {
    alert("Difference is more than a week");
}
于 2011-07-29T13:58:36.523 に答える