Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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中获得startdatetime和enddatetime之间的差异_Javascript_Jquery_Datetime - Fatal编程技术网

如何在javascript中获得startdatetime和enddatetime之间的差异

如何在javascript中获得startdatetime和enddatetime之间的差异,javascript,jquery,datetime,Javascript,Jquery,Datetime,我想计算startdatetime和enddatetime之间的差异 以下是我的html代码: StartDate:<input size="16" type="text" placeholder="YYYY-MM-DD" id="from_date" name="from_date" value=""> Enddate:<input size="16" type="text" placeholder="YYYY-MM-DD" id="to_date" name="to_da

我想计算startdatetime和enddatetime之间的差异

以下是我的html代码:

StartDate:<input size="16" type="text" placeholder="YYYY-MM-DD" id="from_date" name="from_date" value="">

Enddate:<input size="16" type="text" placeholder="YYYY-MM-DD" id="to_date" name="to_date" onchange="calservicedays();" value="">

StartDate:2013-09-07 11:09:40

Enddate:2013-09-08 11:15:50
起始日期:
截止日期:
开始日期:2013-09-07 11:09:40
结束日期:2013-09-08 11:15:50
下面是我的javascript代码

function calservicedays(){
    var start = $("#from_date").val();
    var startDate = new Date(start);    
    var end = $("#to_date").val();
    var endDate = new Date(end);
    var startcom =  Date.parse(start);
    var endcom = Date.parse(end);
    var diff = Math.floor((endDate.getTime() - startDate.getTime()) / 86400000);
    if((startDate != null && endDate != null) && (start != '' && end != '')){
        if((startDate != null && endDate != null) && (start != '' && end != '') && (startcom < endcom)){
            var diff = Math.floor((endDate.getTime() - startDate.getTime()) / 86400000);
            if(diff != "")
              $("#service").val(diff);
        }else{
                alert("To Date cannot be less than or equal to From date");
                 $("#service").val('');
                return false;
            }
    }
 }
函数calservicedays(){
var start=$(“#自#日期”).val();
var startDate=新日期(开始);
var end=$(“#截止日期”).val();
var endDate=新日期(结束);
var startcom=Date.parse(开始);
var endcom=Date.parse(结束);
var diff=Math.floor((endDate.getTime()-startDate.getTime())/86400000);
如果((startDate!=null&&endDate!=null)&&(start!=''&&end!=''){
如果((startDate!=null&&endDate!=null)&(start!=“”&&end!=“”)&&(startcom
有了这段javascript代码,我只需要几天就可以得到不同的结果。我想要时间和天数的不同

有谁能告诉我,为了得到日期和时间的差异,我必须对javascript代码进行哪些更改


感谢使用日期对象,可以很容易地参考此


使用日期对象可以很容易地引用此

试试这个

var start = $('#arr_date').datepicker('getDate');
var end   = $('#dep_date').datepicker('getDate');
var days   = (end - start)/1000/60/60/24;

试试这个

var start = $('#arr_date').datepicker('getDate');
var end   = $('#dep_date').datepicker('getDate');
var days   = (end - start)/1000/60/60/24;


为什么你标记了php标签??用php方法查找差异行吗?为什么用u标记php标记??用php方法查找diff可以吗?我得到的消息是diffnandaysnanhoursnanminutesNansSecondsNanMillistesLook:谢谢你的回复。我的Statedate和enddate是这种格式的StartDate:2013-09-07 11:09:40 enddate:2013-09-08 11:15:50更改输入值您将得到结果我收到此消息DiffnandaySnannHoursnanMinutesNansecondsnan毫秒点击此处查看:谢谢您的回复。我的Statedate和enddate的格式为StartDate:2013-09-07 11:09:40 enddate:2013-09-08 11:15:50更改输入值将得到结果
$(function() {
  var start = $('#arr_date').val();
  var end = $('#dep_date').val();
  var diff = new Date(end - start);
  var days = diff/1000/60/60/24;
  $('#num_nights').val(days);  
});
var date_diff = Math.abs((date2.getTime() - date1.getTime())/86400000);
var k=Math.round(Math.round(new Date(2013,09,08,11,15,50)-new Date(2013,09,07,11,09,40)) / 86400000);
var k1=Math.round(new Date(2013,09,08,11,15,50)-new Date(2013,09,07,11,09,40)) % 86400000;
var h=Math.round(k1/3600000);
var h1=k1%3600000;
var m=Math.round(h1/60000);
var m1=h1%60000;
var s=Math.round(m1/1000);
var s1=s%1000;
alert("diff" +k+"days"+h+"hours"+m+"minutes"+s+"seconds"+s1+"milliseconds");