Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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
Php JavaScript中两个日期选择器值之间的天数差异?_Php_Javascript_Datepicker - Fatal编程技术网

Php JavaScript中两个日期选择器值之间的天数差异?

Php JavaScript中两个日期选择器值之间的天数差异?,php,javascript,datepicker,Php,Javascript,Datepicker,我有两个日期选择器,如下所示: <input type="date" name ="datepicker_start" id="datepicker" value="" class="datepicker" size="20" /> 及 我想计算以天为单位的差值,然后将以天为单位的差值与: <input type="text" name="tleave" value="Var" readonly="true" size="10" /> 其中Var是一个变

我有两个日期选择器,如下所示:

<input type="date" name ="datepicker_start" id="datepicker" value=""  class="datepicker" size="20" />


我想计算以天为单位的差值,然后将以天为单位的差值与:

<input type="text" name="tleave" value="Var" readonly="true" size="10" />

其中Var是一个变量

然后,如果差值大于“Var”值,我需要弹出一条错误消息

基本上把它视为休假请求,当你可以为你的假期设定开始日期和结束日期,但假期的时间不能超过假期余额;如果有,系统应通知用户。

如果您使用,您将执行以下操作:

var start = $('#datepicker').val(),
end = $('#datepicker2').val();

var diffInDays = moment(start).diff(moment(end), 'days');

if(diffInDays > Var) {...}
更新: 我已经更新了你的

HTML: 我已将输入类型更改为
text
,因为
type='date'
在小提琴中提供了意外的ui。 您必须使用jquery日期选择器作为后备

在我的小提琴中,我使用了
jQuery
datepicker&
moment.js
a
5.5kb
库来处理日期。

如果使用,您将执行以下操作:

var start = $('#datepicker').val(),
end = $('#datepicker2').val();

var diffInDays = moment(start).diff(moment(end), 'days');

if(diffInDays > Var) {...}
更新: 我已经更新了你的

HTML: 我已将输入类型更改为
text
,因为
type='date'
在小提琴中提供了意外的ui。 您必须使用jquery日期选择器作为后备


在我的小提琴中,我使用
jQuery
datepicker&
moment.js
a
5.5kb
库来处理日期。

没有不必要的库

    var start = new Date( $('#datepicker').val() ).getTime(),
        end = new Date( $('#datepicker2').val() ).getTime();

    //1000 * 60 * 60 * 24 = 1 day = 86400000
    alert( ((end - start) / 86400000) + " days" );

没有多余的图书馆

    var start = new Date( $('#datepicker').val() ).getTime(),
        end = new Date( $('#datepicker2').val() ).getTime();

    //1000 * 60 * 60 * 24 = 1 day = 86400000
    alert( ((end - start) / 86400000) + " days" );


那很好。祝你好运。@MarcB:)请注意,
tleave
值是一个数字值,还是你的意思是在那里输入了一个变量的名称?它实际上是一个从php变量中选取的值。我想你已经说得很清楚了,但你没有问任何问题。你的问题是什么,你在哪里挣扎?代码的哪一部分没有按预期工作?这很好。祝你好运。@MarcB:)请注意,
tleave
值是一个数字值,还是你的意思是在那里输入了一个变量的名称?它实际上是一个从php变量中选取的值。我想你已经说得很清楚了,但你没有问任何问题。你的问题是什么,你在哪里挣扎?代码的哪一部分没有按预期工作?(+1)处理日期的好方法。泰米尔:你能说得更详细一点吗!非常好,但我唯一不能更改选择器的原因是我将日期发布到另一个应用程序,该应用程序接受只有type='date'提供的特定格式的日期。另外,它会毁掉我的整个项目:/Check:var startDate=moment(start).format('L');(+1)处理日期的好方法。泰米尔:你能说得更详细一点吗!非常好,但我唯一不能更改选择器的原因是我将日期发布到另一个应用程序,该应用程序接受只有type='date'提供的特定格式的日期。另外,它会毁掉我的整个项目:/Check:var startDate=moment(start).format('L');它与JSFIDLE Tamil设置一起工作
$(“#datepicker”).val()
确实返回了一个字符串,我认为它的格式是01/07/2013
newdate(…)
返回一个日期对象,
.getTime()
将在纪元后的几秒钟内将其转换为int。您可能希望使用
Math.ceil(…)
floor
运行它,以更正夏令时。您所说的
type='date'
是什么意思?html5输入类型?它与JSFIDLE Tamil设置一起工作
$(“#datepicker”).val()
确实返回了一个字符串,我认为它的格式是01/07/2013
newdate(…)
返回一个日期对象,
.getTime()
将在纪元后的几秒钟内将其转换为int。您可能希望使用
Math.ceil(…)
floor
运行它,以更正夏令时。您所说的
type='date'
是什么意思?html5输入类型?
    var start = new Date( $('#datepicker').val() ).getTime(),
        end = new Date( $('#datepicker2').val() ).getTime();

    //1000 * 60 * 60 * 24 = 1 day = 86400000
    alert( ((end - start) / 86400000) + " days" );