我知道如何使用 javascript,但对它没有深入的了解。我知道如何在 PHP 中获取日期差异,但在这种情况下,我需要 javascript 解决方案。老实说,我什至不知道是否可以用 Javascript 来做到这一点。我猜是这样,但这只是一个猜测。
这是我的 html:
<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>
这两个字段实际上是引导日期选择器。它们总是带有一些默认值。现在,我希望当用户更改这两个值时计算两个日期之间的差异(警报或控制台日志即可,我将从那里找到方法)。
问题是我不知道从哪里开始以及如何进行计算。我再次猜测 onchange 事件可能是一个不错的候选者,但是......我不知道如何计算差异。
任何帮助将不胜感激。
问候,约翰
最佳答案
您可以首先解析字符串并创建一个 JavaScript 日期,如下所示:
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]);
然后您可以简单地相互减去日期:
endDate - startDate
该减法将为您提供以毫秒为单位的时间差。要将其转换为天数,只需将其除以一天中的毫秒数 (1000 * 60 * 60 * 24
)。
现在您的差异只有几天。有关示例,请参阅JSFiddle .
关于javascript - javascript中的日期差异天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25075300/