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 回答