javascript中的日期差异(以天为单位)
date difference in days in javascript?
我知道如何使用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活动可能是一个很好的候选者,但是。。。我不知道如何计算差额。
任何帮助都将不胜感激。
此致,John
您可以首先解析字符串,然后创建一个类似的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。
<script type="text/javascript">
//Set the two dates
today=new Date()
var christmas=new Date(today.getFullYear(), 11, 25) //Month is 0-11 in JavaScript
if (today.getMonth()==11 && today.getDate()>25) //if Christmas has passed already
christmas.setFullYear(christmas.getFullYear()+1) //calculate next year's Christmas
//Set 1 day in milliseconds
var one_day=1000*60*60*24
//Calculate difference btw the two dates, and convert to days
document.write(Math.ceil((christmas.getTime()-today.getTime())/(one_day))+
" days left until Christmas!")
这个简短的Javascript将显示今天(值1(和圣诞节(值2(之间的DAY差异。Owbioulus这些可以用我们的两个价值观来取代,然后应该会起作用。
离圣诞节还有146天!
var date1 = new Date("7/11/2010");
var date2 = new Date("12/12/2010");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
alert(diffDays);
试试这个。我从这个链接找到了
相关文章:
- 从Javascript到C#获取正确的日期(以毫秒为单位)
- 以周为单位计算日期差异(Javascript)
- 如何获得日期以 YYYY-mm-dd 为单位的年份差异
- 减去日期,返回以月为单位的结果
- Javascript 实现差异(以 2 个日期之间的天数为单位)
- 以天为单位的 2 个 ember 日期时间对象之间的差异
- 以毫秒 (UTC) 为单位获取当前日期(不使用字符串)
- 以 JSON 日期为单位的一小时偏移量
- 如何将日期减去或添加某个数字并以纪元毫秒为单位获得值
- 将以毫秒为单位的日期转换为日/月/年
- 如何在Microsoft CRM 2011中根据出生日期计算年龄(以年和月为单位)
- 使用自epoch以来以毫秒为单位的时间比较javascript中的日期和时间
- 你如何获得当前日期's的开始时间和最新时间(以毫秒为单位)
- 获取以分钟为单位的当前日期时间,并将日期时间(d.m.Y H:m)转换为分钟Javascript
- 计数器:从指定日期到现在的时间,以秒为单位
- javascript中的日期差异(以天为单位)
- 解析日期对象字符串并获取以毫秒为单位的时间
- 使用ScriptUpdateProcessor将以毫秒为单位的时间转换为Solr日期格式
- 查找以年为单位的两个日期之间的差异
- Javascript:以月和日期为单位的日期在每次用户更改年份时重置