日期在javascript中的日期差异? [英] date difference in days in javascript?

查看:79
本文介绍了日期在javascript中的日期差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道如何使用javascript,但我对它没有深入的了解。我知道如何在PHP中获得以天为单位的日期差,但是在这种情况下,我需要JavaScript解决方案。老实说,我什至不知道是否有可能用Javascript做到这一点。我想是的,但这只是个猜测。

I know how to use javascript, but i have no in depth knowledge of it. I know how I can get the date difference in days in PHP but in this case, I need javascript solution. Honestly, i don't even know if it is possible, to do this with Javascript. I guess that it is,but that is just a guess.

这里是我拥有的html:

Here is the html that I have:

<div class="span3" id="checkin">
    <span class="text-label"><i class="icon-calendar"></i>Check In</span> 
    <input type="text" name="checkin" value="02/08/2014">
</div>

<div class="span3" id="checkout">
    <span class="text-label"><i class="icon-calendar"></i>Check Out</span>
    <input type="text" name="checkout" value="04/08/2014">
</div>

这两个字段实际上是引导日期选择器。它们总是带有一些默认值。现在,我想当用户更改这两个值以计算两个日期之间的差异时(警报或控制台日志会执行此操作,我将从那里找到方法)。

Those two fields are actually bootstrap date pickers. They always come with some default values. Now, I want when user change those two values to calculate the difference between two dates (alert or console log will do, I will find my way from there).

问题是我不知道从哪里开始以及如何进行计算。再次,我认为onchange事件可能是一个不错的选择,但是...我不知道如何计算差异。

Problem is that I have no clue where to start and how to do that calculation. Again I guess that onchange event may be a good candidate but...I have no idea how to calculate the difference.

任何帮助将不胜感激。

关于约翰,

推荐答案

您可以先解析字符串并创建JavaScript像这样的日期:

You could first parse your string an create a JavaScript date like that:

var start = $("input[name=checkin]").val().split("/");
var end = $("input[name=checkout]").val().split("/");

var startDate = new Date(start[2], start[1]-1, start[0]);
var endDate = new Date(end[2], end[1]-1, end[0]);

然后,您可以简单地相互减去日期:

Then you can simply substract the dates from each other:

endDate - startDate

该减法将得出您的时差为毫秒。要将其转换为天数,只需将其除以一天中的毫秒数即可( 1000 * 60 * 60 * 24 )。

That substraction will give you the time difference in milliseconds. To convert that to days, simply divide it by the number of milliseconds in a day (1000 * 60 * 60 * 24).

现在您可以按天计算。例如,请参见 JSFiddle

Now you have the difference in days. For an example, see JSFiddle.

这篇关于日期在javascript中的日期差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆