0

私は以下のようなコードを持っています:

<table>
   <tr>
    <td>Date Start</td>
    <td><input type ="text" name="date" class="validate[required] text-input datepicker TextInput"></td>
   </tr>
   <tr>
    <td>Year Month day</td>
    <td id="showhere">I want to display year,month,day in here by subtraction between date now and date start.</td>
   </tr>
</table>

私は欲しい:

ユーザーが上記のテキスト ボックスに入力した現在の日付と開始日の間の日付を減算したいのですが、これを修正する方法がわかりません。どなたか助けてください。よろしくお願いします。

4

2 に答える 2

1
var d1 = new Date(); 
var d2 = new Date("2011/10/11")  
var diff = Math.abs(d1-d2);  // in milliseconds

ただし、入力の日付形式が正しいことを確認する必要があります

于 2012-10-11T03:47:32.523 に答える
0

まず、なぜテキスト入力フィールドを使用して日付を選択するのですか? これはユーザーにとって快適ではありません。代わりにjquery datepickerを使用して、優れたユーザーインターフェイスを提供し、その後の日付の差を次のように計算します。

デモはこちら

$(document).ready(function () { 
$(function() {
        $( "#datepicker" ).datepicker({ dateFormat: 'mm/dd/yy' });
    });
    $('button').click(function() {
        var date = $('#datepicker').datepicker('getDate');
        var today = new Date();
        var diff = Math.floor((today - date) / (1000 * 60 * 60 * 24));
        alert(diff);
});   
});   

マークアップ:

<head>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
</head> 
<form>
        <input id="datepicker" type="text" readonly="true"/><br>
    </form>
        <br><button>number of days</button>​
于 2012-10-11T04:12:47.100 に答える