如何从Birthdate获得年月日

时间:2012-10-02 11:17:38

标签: jquery jquery-ui jquery-selectors timepicker

我正在使用日期选择器来选择出生日期。 我有三个输入框。 输入31/08/1991后 birthdate自动计算21 year 1 months 2 Days之类的年月和日。

$(function() {
        $("#dob").datepicker({
            changeMonth : true,
            changeYear : true,
            defaultDate: '-30yr',
            yearRange: 'c-25:c+35',

            onSelect: function(selectedDate) {
                var a = $("#dob").datepicker( "getDate" );

            var today = new Date();
                var age = Math.floor((today-a) / ( 24 * 60 * 60 * 1000 ));
                var year = Math.round(age/365);
                var month = Math.round(age/30);

                $('#ages').val(year); 


            } 
        });
        $("#dob").datepicker("option", "dateFormat", 'dd-mm-yy');

        $("input:submit, a, button", ".registerSubmit").button();



    });

1 个答案:

答案 0 :(得分:0)

您可以使用onselect事件来获取日期。

在您的情况下,$(#date2)代表下一个生日

$('#date1').datepicker({
   onSelect: function(dateText, inst) { 
       var d1=new Date(dateText);
       // get date from other text field
       var d2=new Date($('#date2').val());
       // d2 -d1 gives result in milliseconds
       // calculate number of days by Math.abs((d2-d1)/86400000, as 24*3600*1000 = 86400000
       // and populate it to some text field #textfield
       $('#textfield').val((Math.abs((d2-d1)/86400000)));
   }
}); 

相关主题(来自Joakim Johansson的想法):jQuery UI Datepicker difference in days