javascript – 计算一系列日期范围的实际天数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 计算一系列日期范围的实际天数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1349字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 计算一系列日期范围的实际天数](/upload/InfoBanner/zyjiaocheng/771/bb87826166f443b3969f2a1c2fcf5d4f.jpg)
我需要计算多个日期范围之间的实际天数.
例如:
- 2014-01-01 to 2014-01-04 is 4 days
- 2014-01-05 to 2014-01-06 is 2 days
而
- 2014-02-01 to 2014-02-03 3 days
with- 2014-02-03 to 2014-02-05 3 days
总共5天
另外一个复杂因素是,在一个月内,日期范围和重叠日期范围之间会有一些差距需要考虑
任何想法的家伙.
使用mysql进行计算的能力会很棒.
也许我应该说计算天数而不是计算.
我可以使用mysql或javascript获取两个日期范围之间的天数,如下所述,我认为我的车轮正在重叠日期范围,其中一个范围在另一个范围完成之前开始.
解决方法:
正如建议HERE:
您可以在Javascript中使用Date对象:
var prevTime = new Date(2011,1,1,0,0); // Feb 1, 2011
var thisTime = new Date(); // now
var diff = thisTime.getTime() - prevTime.getTime(); // now - Feb 1
alert(diff / (1000*60*60*24)); // positive number of days
编辑:我想念你标记的JavaScript,但要求MySQL
正如建议HERE:
如果您对列使用DATE或DATETIME格式,则可以使用:
SELECT DATEDIFF(STR_TO_DATE('2014-01-01', '%Y-%m-%d'),STR_TO_DATE('2014-01-04', '%Y-%m-%d')) AS DAYS
希望有所帮助
EDIT2这是一个很好的方法,在一个语句中使用一些逻辑:
SELECT (CASE
WHEN Start_date1 <= End_date2 THEN
1+DATEDIFF(End_date2, Start_date1)
WHEN Start_date2 <= End_date1 THEN
1+DATEDIFF(End_date1, Start_date2)
ELSE 0
END) AS DAYS
FROM TABLE
逻辑是:
Date1在Date2结束之前开始,Start_date1> = End_date2
要么
Date2在Date1结束之前开始,Start_date2> = End_date1
如果两者都不成立,则不重叠.
内容总结
以上是互联网集市为您收集整理的javascript – 计算一系列日期范围的实际天数全部内容,希望文章能够帮你解决javascript – 计算一系列日期范围的实际天数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。